
bomb：     文件格式 elf64-x86-64


Disassembly of section .init:

0000000000000dd0 <_init>:
 dd0:	48 83 ec 08          	sub    $0x8,%rsp
 dd4:	48 8b 05 0d 32 20 00 	mov    0x20320d(%rip),%rax        # 203fe8 <_GLOBAL_OFFSET_TABLE_+0xf0>
 ddb:	48 85 c0             	test   %rax,%rax
 dde:	74 02                	je     de2 <_init+0x12>
 de0:	ff d0                	callq  *%rax
 de2:	48 83 c4 08          	add    $0x8,%rsp
 de6:	c3                   	retq   

Disassembly of section .plt:

0000000000000df0 <getenv@plt-0x10>:
 df0:	ff 35 0a 31 20 00    	pushq  0x20310a(%rip)        # 203f00 <_GLOBAL_OFFSET_TABLE_+0x8>
 df6:	ff 25 0c 31 20 00    	jmpq   *0x20310c(%rip)        # 203f08 <_GLOBAL_OFFSET_TABLE_+0x10>
 dfc:	0f 1f 40 00          	nopl   0x0(%rax)

0000000000000e00 <getenv@plt>:
 e00:	ff 25 0a 31 20 00    	jmpq   *0x20310a(%rip)        # 203f10 <_GLOBAL_OFFSET_TABLE_+0x18>
 e06:	68 00 00 00 00       	pushq  $0x0
 e0b:	e9 e0 ff ff ff       	jmpq   df0 <_init+0x20>

0000000000000e10 <__errno_location@plt>:
 e10:	ff 25 02 31 20 00    	jmpq   *0x203102(%rip)        # 203f18 <_GLOBAL_OFFSET_TABLE_+0x20>
 e16:	68 01 00 00 00       	pushq  $0x1
 e1b:	e9 d0 ff ff ff       	jmpq   df0 <_init+0x20>

0000000000000e20 <strcpy@plt>:
 e20:	ff 25 fa 30 20 00    	jmpq   *0x2030fa(%rip)        # 203f20 <_GLOBAL_OFFSET_TABLE_+0x28>
 e26:	68 02 00 00 00       	pushq  $0x2
 e2b:	e9 c0 ff ff ff       	jmpq   df0 <_init+0x20>

0000000000000e30 <puts@plt>:
 e30:	ff 25 f2 30 20 00    	jmpq   *0x2030f2(%rip)        # 203f28 <_GLOBAL_OFFSET_TABLE_+0x30>
 e36:	68 03 00 00 00       	pushq  $0x3
 e3b:	e9 b0 ff ff ff       	jmpq   df0 <_init+0x20>

0000000000000e40 <write@plt>:
 e40:	ff 25 ea 30 20 00    	jmpq   *0x2030ea(%rip)        # 203f30 <_GLOBAL_OFFSET_TABLE_+0x38>
 e46:	68 04 00 00 00       	pushq  $0x4
 e4b:	e9 a0 ff ff ff       	jmpq   df0 <_init+0x20>

0000000000000e50 <__stack_chk_fail@plt>:
 e50:	ff 25 e2 30 20 00    	jmpq   *0x2030e2(%rip)        # 203f38 <_GLOBAL_OFFSET_TABLE_+0x40>
 e56:	68 05 00 00 00       	pushq  $0x5
 e5b:	e9 90 ff ff ff       	jmpq   df0 <_init+0x20>

0000000000000e60 <alarm@plt>:
 e60:	ff 25 da 30 20 00    	jmpq   *0x2030da(%rip)        # 203f40 <_GLOBAL_OFFSET_TABLE_+0x48>
 e66:	68 06 00 00 00       	pushq  $0x6
 e6b:	e9 80 ff ff ff       	jmpq   df0 <_init+0x20>

0000000000000e70 <close@plt>:
 e70:	ff 25 d2 30 20 00    	jmpq   *0x2030d2(%rip)        # 203f48 <_GLOBAL_OFFSET_TABLE_+0x50>
 e76:	68 07 00 00 00       	pushq  $0x7
 e7b:	e9 70 ff ff ff       	jmpq   df0 <_init+0x20>

0000000000000e80 <read@plt>:
 e80:	ff 25 ca 30 20 00    	jmpq   *0x2030ca(%rip)        # 203f50 <_GLOBAL_OFFSET_TABLE_+0x58>
 e86:	68 08 00 00 00       	pushq  $0x8
 e8b:	e9 60 ff ff ff       	jmpq   df0 <_init+0x20>

0000000000000e90 <fgets@plt>:
 e90:	ff 25 c2 30 20 00    	jmpq   *0x2030c2(%rip)        # 203f58 <_GLOBAL_OFFSET_TABLE_+0x60>
 e96:	68 09 00 00 00       	pushq  $0x9
 e9b:	e9 50 ff ff ff       	jmpq   df0 <_init+0x20>

0000000000000ea0 <signal@plt>:
 ea0:	ff 25 ba 30 20 00    	jmpq   *0x2030ba(%rip)        # 203f60 <_GLOBAL_OFFSET_TABLE_+0x68>
 ea6:	68 0a 00 00 00       	pushq  $0xa
 eab:	e9 40 ff ff ff       	jmpq   df0 <_init+0x20>

0000000000000eb0 <gethostbyname@plt>:
 eb0:	ff 25 b2 30 20 00    	jmpq   *0x2030b2(%rip)        # 203f68 <_GLOBAL_OFFSET_TABLE_+0x70>
 eb6:	68 0b 00 00 00       	pushq  $0xb
 ebb:	e9 30 ff ff ff       	jmpq   df0 <_init+0x20>

0000000000000ec0 <__memmove_chk@plt>:
 ec0:	ff 25 aa 30 20 00    	jmpq   *0x2030aa(%rip)        # 203f70 <_GLOBAL_OFFSET_TABLE_+0x78>
 ec6:	68 0c 00 00 00       	pushq  $0xc
 ecb:	e9 20 ff ff ff       	jmpq   df0 <_init+0x20>

0000000000000ed0 <strtol@plt>:
 ed0:	ff 25 a2 30 20 00    	jmpq   *0x2030a2(%rip)        # 203f78 <_GLOBAL_OFFSET_TABLE_+0x80>
 ed6:	68 0d 00 00 00       	pushq  $0xd
 edb:	e9 10 ff ff ff       	jmpq   df0 <_init+0x20>

0000000000000ee0 <fflush@plt>:
 ee0:	ff 25 9a 30 20 00    	jmpq   *0x20309a(%rip)        # 203f80 <_GLOBAL_OFFSET_TABLE_+0x88>
 ee6:	68 0e 00 00 00       	pushq  $0xe
 eeb:	e9 00 ff ff ff       	jmpq   df0 <_init+0x20>

0000000000000ef0 <__isoc99_sscanf@plt>:
 ef0:	ff 25 92 30 20 00    	jmpq   *0x203092(%rip)        # 203f88 <_GLOBAL_OFFSET_TABLE_+0x90>
 ef6:	68 0f 00 00 00       	pushq  $0xf
 efb:	e9 f0 fe ff ff       	jmpq   df0 <_init+0x20>

0000000000000f00 <__printf_chk@plt>:
 f00:	ff 25 8a 30 20 00    	jmpq   *0x20308a(%rip)        # 203f90 <_GLOBAL_OFFSET_TABLE_+0x98>
 f06:	68 10 00 00 00       	pushq  $0x10
 f0b:	e9 e0 fe ff ff       	jmpq   df0 <_init+0x20>

0000000000000f10 <fopen@plt>:
 f10:	ff 25 82 30 20 00    	jmpq   *0x203082(%rip)        # 203f98 <_GLOBAL_OFFSET_TABLE_+0xa0>
 f16:	68 11 00 00 00       	pushq  $0x11
 f1b:	e9 d0 fe ff ff       	jmpq   df0 <_init+0x20>

0000000000000f20 <exit@plt>:
 f20:	ff 25 7a 30 20 00    	jmpq   *0x20307a(%rip)        # 203fa0 <_GLOBAL_OFFSET_TABLE_+0xa8>
 f26:	68 12 00 00 00       	pushq  $0x12
 f2b:	e9 c0 fe ff ff       	jmpq   df0 <_init+0x20>

0000000000000f30 <connect@plt>:
 f30:	ff 25 72 30 20 00    	jmpq   *0x203072(%rip)        # 203fa8 <_GLOBAL_OFFSET_TABLE_+0xb0>
 f36:	68 13 00 00 00       	pushq  $0x13
 f3b:	e9 b0 fe ff ff       	jmpq   df0 <_init+0x20>

0000000000000f40 <__fprintf_chk@plt>:
 f40:	ff 25 6a 30 20 00    	jmpq   *0x20306a(%rip)        # 203fb0 <_GLOBAL_OFFSET_TABLE_+0xb8>
 f46:	68 14 00 00 00       	pushq  $0x14
 f4b:	e9 a0 fe ff ff       	jmpq   df0 <_init+0x20>

0000000000000f50 <sleep@plt>:
 f50:	ff 25 62 30 20 00    	jmpq   *0x203062(%rip)        # 203fb8 <_GLOBAL_OFFSET_TABLE_+0xc0>
 f56:	68 15 00 00 00       	pushq  $0x15
 f5b:	e9 90 fe ff ff       	jmpq   df0 <_init+0x20>

0000000000000f60 <__ctype_b_loc@plt>:
 f60:	ff 25 5a 30 20 00    	jmpq   *0x20305a(%rip)        # 203fc0 <_GLOBAL_OFFSET_TABLE_+0xc8>
 f66:	68 16 00 00 00       	pushq  $0x16
 f6b:	e9 80 fe ff ff       	jmpq   df0 <_init+0x20>

0000000000000f70 <__sprintf_chk@plt>:
 f70:	ff 25 52 30 20 00    	jmpq   *0x203052(%rip)        # 203fc8 <_GLOBAL_OFFSET_TABLE_+0xd0>
 f76:	68 17 00 00 00       	pushq  $0x17
 f7b:	e9 70 fe ff ff       	jmpq   df0 <_init+0x20>

0000000000000f80 <socket@plt>:
 f80:	ff 25 4a 30 20 00    	jmpq   *0x20304a(%rip)        # 203fd0 <_GLOBAL_OFFSET_TABLE_+0xd8>
 f86:	68 18 00 00 00       	pushq  $0x18
 f8b:	e9 60 fe ff ff       	jmpq   df0 <_init+0x20>

Disassembly of section .plt.got:

0000000000000f90 <.plt.got>:
 f90:	ff 25 62 30 20 00    	jmpq   *0x203062(%rip)        # 203ff8 <_GLOBAL_OFFSET_TABLE_+0x100>
 f96:	66 90                	xchg   %ax,%ax

Disassembly of section .text:

0000000000000fa0 <_start>:
     fa0:	31 ed                	xor    %ebp,%ebp
     fa2:	49 89 d1             	mov    %rdx,%r9
     fa5:	5e                   	pop    %rsi
     fa6:	48 89 e2             	mov    %rsp,%rdx
     fa9:	48 83 e4 f0          	and    $0xfffffffffffffff0,%rsp
     fad:	50                   	push   %rax
     fae:	54                   	push   %rsp
     faf:	4c 8d 05 fa 18 00 00 	lea    0x18fa(%rip),%r8        # 28b0 <__libc_csu_fini>
     fb6:	48 8d 0d 83 18 00 00 	lea    0x1883(%rip),%rcx        # 2840 <__libc_csu_init>
     fbd:	48 8d 3d e6 00 00 00 	lea    0xe6(%rip),%rdi        # 10aa <main>
     fc4:	ff 15 16 30 20 00    	callq  *0x203016(%rip)        # 203fe0 <_GLOBAL_OFFSET_TABLE_+0xe8>
     fca:	f4                   	hlt    
     fcb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)

0000000000000fd0 <deregister_tm_clones>:
     fd0:	48 8d 3d c9 36 20 00 	lea    0x2036c9(%rip),%rdi        # 2046a0 <__TMC_END__>
     fd7:	55                   	push   %rbp
     fd8:	48 8d 05 c1 36 20 00 	lea    0x2036c1(%rip),%rax        # 2046a0 <__TMC_END__>
     fdf:	48 39 f8             	cmp    %rdi,%rax
     fe2:	48 89 e5             	mov    %rsp,%rbp
     fe5:	74 19                	je     1000 <deregister_tm_clones+0x30>
     fe7:	48 8b 05 ea 2f 20 00 	mov    0x202fea(%rip),%rax        # 203fd8 <_GLOBAL_OFFSET_TABLE_+0xe0>
     fee:	48 85 c0             	test   %rax,%rax
     ff1:	74 0d                	je     1000 <deregister_tm_clones+0x30>
     ff3:	5d                   	pop    %rbp
     ff4:	ff e0                	jmpq   *%rax
     ff6:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
     ffd:	00 00 00 
    1000:	5d                   	pop    %rbp
    1001:	c3                   	retq   
    1002:	0f 1f 40 00          	nopl   0x0(%rax)
    1006:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
    100d:	00 00 00 

0000000000001010 <register_tm_clones>:
    1010:	48 8d 3d 89 36 20 00 	lea    0x203689(%rip),%rdi        # 2046a0 <__TMC_END__>
    1017:	48 8d 35 82 36 20 00 	lea    0x203682(%rip),%rsi        # 2046a0 <__TMC_END__>
    101e:	55                   	push   %rbp
    101f:	48 29 fe             	sub    %rdi,%rsi
    1022:	48 89 e5             	mov    %rsp,%rbp
    1025:	48 c1 fe 03          	sar    $0x3,%rsi
    1029:	48 89 f0             	mov    %rsi,%rax
    102c:	48 c1 e8 3f          	shr    $0x3f,%rax
    1030:	48 01 c6             	add    %rax,%rsi
    1033:	48 d1 fe             	sar    %rsi
    1036:	74 18                	je     1050 <register_tm_clones+0x40>
    1038:	48 8b 05 b1 2f 20 00 	mov    0x202fb1(%rip),%rax        # 203ff0 <_GLOBAL_OFFSET_TABLE_+0xf8>
    103f:	48 85 c0             	test   %rax,%rax
    1042:	74 0c                	je     1050 <register_tm_clones+0x40>
    1044:	5d                   	pop    %rbp
    1045:	ff e0                	jmpq   *%rax
    1047:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
    104e:	00 00 
    1050:	5d                   	pop    %rbp
    1051:	c3                   	retq   
    1052:	0f 1f 40 00          	nopl   0x0(%rax)
    1056:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
    105d:	00 00 00 

0000000000001060 <__do_global_dtors_aux>:
    1060:	80 3d 61 36 20 00 00 	cmpb   $0x0,0x203661(%rip)        # 2046c8 <completed.7698>
    1067:	75 2f                	jne    1098 <__do_global_dtors_aux+0x38>
    1069:	48 83 3d 87 2f 20 00 	cmpq   $0x0,0x202f87(%rip)        # 203ff8 <_GLOBAL_OFFSET_TABLE_+0x100>
    1070:	00 
    1071:	55                   	push   %rbp
    1072:	48 89 e5             	mov    %rsp,%rbp
    1075:	74 0c                	je     1083 <__do_global_dtors_aux+0x23>
    1077:	48 8b 3d 8a 2f 20 00 	mov    0x202f8a(%rip),%rdi        # 204008 <__dso_handle>
    107e:	e8 0d ff ff ff       	callq  f90 <socket@plt+0x10>
    1083:	e8 48 ff ff ff       	callq  fd0 <deregister_tm_clones>
    1088:	c6 05 39 36 20 00 01 	movb   $0x1,0x203639(%rip)        # 2046c8 <completed.7698>
    108f:	5d                   	pop    %rbp
    1090:	c3                   	retq   
    1091:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
    1098:	f3 c3                	repz retq 
    109a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)

00000000000010a0 <frame_dummy>:
    10a0:	55                   	push   %rbp
    10a1:	48 89 e5             	mov    %rsp,%rbp
    10a4:	5d                   	pop    %rbp
    10a5:	e9 66 ff ff ff       	jmpq   1010 <register_tm_clones>

00000000000010aa <main>:
    10aa:	53                   	push   %rbx
    10ab:	83 ff 01             	cmp    $0x1,%edi
    10ae:	0f 84 f8 00 00 00    	je     11ac <main+0x102>
    10b4:	48 89 f3             	mov    %rsi,%rbx
    10b7:	83 ff 02             	cmp    $0x2,%edi
    10ba:	0f 85 21 01 00 00    	jne    11e1 <main+0x137>
    10c0:	48 8b 7e 08          	mov    0x8(%rsi),%rdi
    10c4:	48 8d 35 f9 17 00 00 	lea    0x17f9(%rip),%rsi        # 28c4 <_IO_stdin_used+0x4>
    10cb:	e8 40 fe ff ff       	callq  f10 <fopen@plt>
    10d0:	48 89 05 f9 35 20 00 	mov    %rax,0x2035f9(%rip)        # 2046d0 <infile>
    10d7:	48 85 c0             	test   %rax,%rax
    10da:	0f 84 df 00 00 00    	je     11bf <main+0x115>
    10e0:	e8 ce 06 00 00       	callq  17b3 <initialize_bomb>
    10e5:	48 8d 3d 5c 18 00 00 	lea    0x185c(%rip),%rdi        # 2948 <_IO_stdin_used+0x88>
    10ec:	e8 3f fd ff ff       	callq  e30 <puts@plt>
    10f1:	48 8d 3d 90 18 00 00 	lea    0x1890(%rip),%rdi        # 2988 <_IO_stdin_used+0xc8>
    10f8:	e8 33 fd ff ff       	callq  e30 <puts@plt>
    10fd:	e8 57 09 00 00       	callq  1a59 <read_line>
    1102:	48 89 c7             	mov    %rax,%rdi
    1105:	e8 fa 00 00 00       	callq  1204 <phase_1>
    110a:	e8 8e 0a 00 00       	callq  1b9d <phase_defused>
    110f:	48 8d 3d a2 18 00 00 	lea    0x18a2(%rip),%rdi        # 29b8 <_IO_stdin_used+0xf8>
    1116:	e8 15 fd ff ff       	callq  e30 <puts@plt>
    111b:	e8 39 09 00 00       	callq  1a59 <read_line>
    1120:	48 89 c7             	mov    %rax,%rdi
    1123:	e8 fc 00 00 00       	callq  1224 <phase_2>
    1128:	e8 70 0a 00 00       	callq  1b9d <phase_defused>
    112d:	48 8d 3d c9 17 00 00 	lea    0x17c9(%rip),%rdi        # 28fd <_IO_stdin_used+0x3d>
    1134:	e8 f7 fc ff ff       	callq  e30 <puts@plt>
    1139:	e8 1b 09 00 00       	callq  1a59 <read_line>
    113e:	48 89 c7             	mov    %rax,%rdi
    1141:	e8 4d 01 00 00       	callq  1293 <phase_3>
    1146:	e8 52 0a 00 00       	callq  1b9d <phase_defused>
    114b:	48 8d 3d c9 17 00 00 	lea    0x17c9(%rip),%rdi        # 291b <_IO_stdin_used+0x5b>
    1152:	e8 d9 fc ff ff       	callq  e30 <puts@plt>
    1157:	e8 fd 08 00 00       	callq  1a59 <read_line>
    115c:	48 89 c7             	mov    %rax,%rdi
    115f:	e8 db 02 00 00       	callq  143f <phase_4>
    1164:	e8 34 0a 00 00       	callq  1b9d <phase_defused>
    1169:	48 8d 3d 78 18 00 00 	lea    0x1878(%rip),%rdi        # 29e8 <_IO_stdin_used+0x128>
    1170:	e8 bb fc ff ff       	callq  e30 <puts@plt>
    1175:	e8 df 08 00 00       	callq  1a59 <read_line>
    117a:	48 89 c7             	mov    %rax,%rdi
    117d:	e8 2c 03 00 00       	callq  14ae <phase_5>
    1182:	e8 16 0a 00 00       	callq  1b9d <phase_defused>
    1187:	48 8d 3d 9c 17 00 00 	lea    0x179c(%rip),%rdi        # 292a <_IO_stdin_used+0x6a>
    118e:	e8 9d fc ff ff       	callq  e30 <puts@plt>
    1193:	e8 c1 08 00 00       	callq  1a59 <read_line>
    1198:	48 89 c7             	mov    %rax,%rdi
    119b:	e8 54 03 00 00       	callq  14f4 <phase_6>
    11a0:	e8 f8 09 00 00       	callq  1b9d <phase_defused>
    11a5:	b8 00 00 00 00       	mov    $0x0,%eax
    11aa:	5b                   	pop    %rbx
    11ab:	c3                   	retq   
    11ac:	48 8b 05 fd 34 20 00 	mov    0x2034fd(%rip),%rax        # 2046b0 <stdin@@GLIBC_2.2.5>
    11b3:	48 89 05 16 35 20 00 	mov    %rax,0x203516(%rip)        # 2046d0 <infile>
    11ba:	e9 21 ff ff ff       	jmpq   10e0 <main+0x36>
    11bf:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
    11c3:	48 8b 13             	mov    (%rbx),%rdx
    11c6:	48 8d 35 f9 16 00 00 	lea    0x16f9(%rip),%rsi        # 28c6 <_IO_stdin_used+0x6>
    11cd:	bf 01 00 00 00       	mov    $0x1,%edi
    11d2:	e8 29 fd ff ff       	callq  f00 <__printf_chk@plt>
    11d7:	bf 08 00 00 00       	mov    $0x8,%edi
    11dc:	e8 3f fd ff ff       	callq  f20 <exit@plt>
    11e1:	48 8b 16             	mov    (%rsi),%rdx
    11e4:	48 8d 35 f8 16 00 00 	lea    0x16f8(%rip),%rsi        # 28e3 <_IO_stdin_used+0x23>
    11eb:	bf 01 00 00 00       	mov    $0x1,%edi
    11f0:	b8 00 00 00 00       	mov    $0x0,%eax
    11f5:	e8 06 fd ff ff       	callq  f00 <__printf_chk@plt>
    11fa:	bf 08 00 00 00       	mov    $0x8,%edi
    11ff:	e8 1c fd ff ff       	callq  f20 <exit@plt>

0000000000001204 <phase_1>:
    1204:	48 83 ec 08          	sub    $0x8,%rsp
    1208:	48 8d 35 fd 17 00 00 	lea    0x17fd(%rip),%rsi        # 2a0c <_IO_stdin_used+0x14c>
    # watch the momeory referencd by rsi, we could know what string 
    # should we input at once
    120f:	e8 38 05 00 00       	callq  174c <strings_not_equal>
    1214:	85 c0                	test   %eax,%eax
    1216:	75 05                	jne    121d <phase_1+0x19>
    1218:	48 83 c4 08          	add    $0x8,%rsp
    121c:	c3                   	retq   
    121d:	e8 ba 07 00 00       	callq  19dc <explode_bomb>
    1222:	eb f4                	jmp    1218 <phase_1+0x14>

0000000000001224 <phase_2>:
    1224:	55                   	push   %rbp
    1225:	53                   	push   %rbx
    1226:	48 83 ec 28          	sub    $0x28,%rsp
    122a:	64 48 8b 04 25 28 00 	mov    %fs:0x28,%rax
    1231:	00 00 
    1233:	48 89 44 24 18       	mov    %rax,0x18(%rsp)
    1238:	31 c0                	xor    %eax,%eax
    123a:	48 89 e6             	mov    %rsp,%rsi
    123d:	e8 d6 07 00 00       	callq  1a18 <read_six_numbers>
    # The first number must be 0
    1242:	83 3c 24 00          	cmpl   $0x0,(%rsp)
    1246:	75 07                	jne    124f <phase_2+0x2b>
    # The second number must be 1
    1248:	83 7c 24 04 01       	cmpl   $0x1,0x4(%rsp)
    124d:	74 05                	je     1254 <phase_2+0x30>
    124f:	e8 88 07 00 00       	callq  19dc <explode_bomb>
    1254:	48 89 e3             	mov    %rsp,%rbx
    1257:	48 8d 6b 10          	lea    0x10(%rbx),%rbp
    125b:	eb 09                	jmp    1266 <phase_2+0x42>
    125d:	48 83 c3 04          	add    $0x4,%rbx
    1261:	48 39 eb             	cmp    %rbp,%rbx
    1264:	74 11                	je     1277 <phase_2+0x53>
    1266:	8b 43 04             	mov    0x4(%rbx),%eax
    1269:	03 03                	add    (%rbx),%eax
    # We should confirm that the nubmer must be equal to the plus
    # of two predecessor
    126b:	39 43 08             	cmp    %eax,0x8(%rbx)
    126e:	74 ed                	je     125d <phase_2+0x39>
    1270:	e8 67 07 00 00       	callq  19dc <explode_bomb>
    1275:	eb e6                	jmp    125d <phase_2+0x39>
    1277:	48 8b 44 24 18       	mov    0x18(%rsp),%rax
    127c:	64 48 33 04 25 28 00 	xor    %fs:0x28,%rax
    1283:	00 00 
    1285:	75 07                	jne    128e <phase_2+0x6a>
    1287:	48 83 c4 28          	add    $0x28,%rsp
    128b:	5b                   	pop    %rbx
    128c:	5d                   	pop    %rbp
    128d:	c3                   	retq   
    128e:	e8 bd fb ff ff       	callq  e50 <__stack_chk_fail@plt>

0000000000001293 <phase_3>:
    1293:	48 83 ec 28          	sub    $0x28,%rsp
    1297:	64 48 8b 04 25 28 00 	mov    %fs:0x28,%rax
    129e:	00 00 
    12a0:	48 89 44 24 18       	mov    %rax,0x18(%rsp)
    12a5:	31 c0                	xor    %eax,%eax
    12a7:	48 8d 4c 24 0f       	lea    0xf(%rsp),%rcx
    12ac:	48 8d 54 24 10       	lea    0x10(%rsp),%rdx
    12b1:	4c 8d 44 24 14       	lea    0x14(%rsp),%r8
    12b6:	48 8d 35 63 17 00 00 	lea    0x1763(%rip),%rsi        # 2a20 <_IO_stdin_used+0x160>
    12bd:	e8 2e fc ff ff       	callq  ef0 <__isoc99_sscanf@plt>
    12c2:	83 f8 02             	cmp    $0x2,%eax
    12c5:	7e 1f                	jle    12e6 <phase_3+0x53>
    12c7:	83 7c 24 10 07       	cmpl   $0x7,0x10(%rsp)
    12cc:	0f 87 05 01 00 00    	ja     13d7 <phase_3+0x144>
    12d2:	8b 44 24 10          	mov    0x10(%rsp),%eax
    12d6:	48 8d 15 63 17 00 00 	lea    0x1763(%rip),%rdx        # 2a40 <_IO_stdin_used+0x180>
    12dd:	48 63 04 82          	movslq (%rdx,%rax,4),%rax
    12e1:	48 01 d0             	add    %rdx,%rax
    # After executing jmpq *%rax, the value of rip should be '12ed'
    # (eventually virtual address is '0x55....52ed')
    # And we could infer how the first number is 
    12e4:	ff e0                	jmpq   *%rax
    12e6:	e8 f1 06 00 00       	callq  19dc <explode_bomb>
    12eb:	eb da                	jmp    12c7 <phase_3+0x34>
    12ed:	b8 74 00 00 00       	mov    $0x74,%eax
    # The value of the second number has been exploded
    12f2:	81 7c 24 14 a5 02 00 	cmpl   $0x2a5,0x14(%rsp)
    12f9:	00 
    12fa:	0f 84 e1 00 00 00    	je     13e1 <phase_3+0x14e>
    1300:	e8 d7 06 00 00       	callq  19dc <explode_bomb>
    1305:	b8 74 00 00 00       	mov    $0x74,%eax
    130a:	e9 d2 00 00 00       	jmpq   13e1 <phase_3+0x14e>
    130f:	b8 75 00 00 00       	mov    $0x75,%eax
    1314:	81 7c 24 14 0f 03 00 	cmpl   $0x30f,0x14(%rsp)
    131b:	00 
    131c:	0f 84 bf 00 00 00    	je     13e1 <phase_3+0x14e>
    1322:	e8 b5 06 00 00       	callq  19dc <explode_bomb>
    1327:	b8 75 00 00 00       	mov    $0x75,%eax
    132c:	e9 b0 00 00 00       	jmpq   13e1 <phase_3+0x14e>
    1331:	b8 6e 00 00 00       	mov    $0x6e,%eax
    1336:	81 7c 24 14 33 02 00 	cmpl   $0x233,0x14(%rsp)
    133d:	00 
    133e:	0f 84 9d 00 00 00    	je     13e1 <phase_3+0x14e>
    1344:	e8 93 06 00 00       	callq  19dc <explode_bomb>
    1349:	b8 6e 00 00 00       	mov    $0x6e,%eax
    134e:	e9 8e 00 00 00       	jmpq   13e1 <phase_3+0x14e>
    1353:	b8 67 00 00 00       	mov    $0x67,%eax
    1358:	81 7c 24 14 43 03 00 	cmpl   $0x343,0x14(%rsp)
    135f:	00 
    1360:	74 7f                	je     13e1 <phase_3+0x14e>
    1362:	e8 75 06 00 00       	callq  19dc <explode_bomb>
    1367:	b8 67 00 00 00       	mov    $0x67,%eax
    136c:	eb 73                	jmp    13e1 <phase_3+0x14e>
    136e:	b8 78 00 00 00       	mov    $0x78,%eax
    1373:	81 7c 24 14 19 01 00 	cmpl   $0x119,0x14(%rsp)
    137a:	00 
    137b:	74 64                	je     13e1 <phase_3+0x14e>
    137d:	e8 5a 06 00 00       	callq  19dc <explode_bomb>
    1382:	b8 78 00 00 00       	mov    $0x78,%eax
    1387:	eb 58                	jmp    13e1 <phase_3+0x14e>
    1389:	b8 6c 00 00 00       	mov    $0x6c,%eax
    138e:	81 7c 24 14 b4 03 00 	cmpl   $0x3b4,0x14(%rsp)
    1395:	00 
    1396:	74 49                	je     13e1 <phase_3+0x14e>
    1398:	e8 3f 06 00 00       	callq  19dc <explode_bomb>
    139d:	b8 6c 00 00 00       	mov    $0x6c,%eax
    13a2:	eb 3d                	jmp    13e1 <phase_3+0x14e>
    13a4:	b8 6f 00 00 00       	mov    $0x6f,%eax
    13a9:	83 7c 24 14 55       	cmpl   $0x55,0x14(%rsp)
    13ae:	74 31                	je     13e1 <phase_3+0x14e>
    13b0:	e8 27 06 00 00       	callq  19dc <explode_bomb>
    13b5:	b8 6f 00 00 00       	mov    $0x6f,%eax
    13ba:	eb 25                	jmp    13e1 <phase_3+0x14e>
    13bc:	b8 68 00 00 00       	mov    $0x68,%eax
    13c1:	81 7c 24 14 ea 02 00 	cmpl   $0x2ea,0x14(%rsp)
    13c8:	00 
    13c9:	74 16                	je     13e1 <phase_3+0x14e>
    13cb:	e8 0c 06 00 00       	callq  19dc <explode_bomb>
    13d0:	b8 68 00 00 00       	mov    $0x68,%eax
    13d5:	eb 0a                	jmp    13e1 <phase_3+0x14e>
    13d7:	e8 00 06 00 00       	callq  19dc <explode_bomb>
    13dc:	b8 69 00 00 00       	mov    $0x69,%eax
    # We could browser the code above or watch the value of 'al' by
    # inserting a breakpoint to infer that how the character should be
    13e1:	38 44 24 0f          	cmp    %al,0xf(%rsp)
    13e5:	74 05                	je     13ec <phase_3+0x159>
    13e7:	e8 f0 05 00 00       	callq  19dc <explode_bomb>
    13ec:	48 8b 44 24 18       	mov    0x18(%rsp),%rax
    13f1:	64 48 33 04 25 28 00 	xor    %fs:0x28,%rax
    13f8:	00 00 
    13fa:	75 05                	jne    1401 <phase_3+0x16e>
    13fc:	48 83 c4 28          	add    $0x28,%rsp
    1400:	c3                   	retq   
    1401:	e8 4a fa ff ff       	callq  e50 <__stack_chk_fail@plt>

0000000000001406 <func4>:
    # If I use C language to interpret the intention of the function,
    # it may be like that
    # int func4(int n, int x) {
    #     if(!n)
    #         return 0;
    #     if(n == 1)
    #         return x;
    #     return func4(n - 1, x) + x + func4(n - 2, x);
    # }
    # The result is similar to Fibonacci sequence
    1406:	b8 00 00 00 00       	mov    $0x0,%eax
    140b:	85 ff                	test   %edi,%edi
    140d:	7e 07                	jle    1416 <func4+0x10>
    140f:	89 f0                	mov    %esi,%eax
    1411:	83 ff 01             	cmp    $0x1,%edi
    1414:	75 02                	jne    1418 <func4+0x12>
    1416:	f3 c3                	repz retq 
    1418:	41 54                	push   %r12
    141a:	55                   	push   %rbp
    141b:	53                   	push   %rbx
    141c:	41 89 f4             	mov    %esi,%r12d
    141f:	89 fb                	mov    %edi,%ebx
    1421:	8d 7f ff             	lea    -0x1(%rdi),%edi
    1424:	e8 dd ff ff ff       	callq  1406 <func4>
    1429:	42 8d 2c 20          	lea    (%rax,%r12,1),%ebp
    142d:	8d 7b fe             	lea    -0x2(%rbx),%edi
    1430:	44 89 e6             	mov    %r12d,%esi
    1433:	e8 ce ff ff ff       	callq  1406 <func4>
    1438:	01 e8                	add    %ebp,%eax
    143a:	5b                   	pop    %rbx
    143b:	5d                   	pop    %rbp
    143c:	41 5c                	pop    %r12
    143e:	c3                   	retq   

000000000000143f <phase_4>:
    143f:	48 83 ec 18          	sub    $0x18,%rsp
    1443:	64 48 8b 04 25 28 00 	mov    %fs:0x28,%rax
    144a:	00 00 
    144c:	48 89 44 24 08       	mov    %rax,0x8(%rsp)
    1451:	31 c0                	xor    %eax,%eax
    1453:	48 89 e1             	mov    %rsp,%rcx
    1456:	48 8d 54 24 04       	lea    0x4(%rsp),%rdx
    145b:	48 8d 35 43 18 00 00 	lea    0x1843(%rip),%rsi        # 2ca5 <array.3416+0x245>
    1462:	e8 89 fa ff ff       	callq  ef0 <__isoc99_sscanf@plt>
    1467:	83 f8 02             	cmp    $0x2,%eax
    146a:	75 0b                	jne    1477 <phase_4+0x38>
    146c:	8b 04 24             	mov    (%rsp),%eax
    146f:	83 e8 02             	sub    $0x2,%eax
    1472:	83 f8 02             	cmp    $0x2,%eax
    # What amazed me that the second number was restored in (%rsp)
    # while the first number was restored in 0x4(%rsp)
    # The second number should be less or equal than 4
    1475:	76 05                	jbe    147c <phase_4+0x3d>
    1477:	e8 60 05 00 00       	callq  19dc <explode_bomb>
    147c:	8b 34 24             	mov    (%rsp),%esi
    147f:	bf 08 00 00 00       	mov    $0x8,%edi
    # call func4(8, the second number) 
    # the result is 54 * the  second number
    1484:	e8 7d ff ff ff       	callq  1406 <func4>
    # we must confirm that the first number is 54 multiple of the second 
    # number
    1489:	39 44 24 04          	cmp    %eax,0x4(%rsp)
    148d:	74 05                	je     1494 <phase_4+0x55>
    148f:	e8 48 05 00 00       	callq  19dc <explode_bomb>
    1494:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
    1499:	64 48 33 04 25 28 00 	xor    %fs:0x28,%rax
    14a0:	00 00 
    14a2:	75 05                	jne    14a9 <phase_4+0x6a>
    14a4:	48 83 c4 18          	add    $0x18,%rsp
    14a8:	c3                   	retq   
    14a9:	e8 a2 f9 ff ff       	callq  e50 <__stack_chk_fail@plt>

00000000000014ae <phase_5>:
    14ae:	53                   	push   %rbx
    14af:	48 89 fb             	mov    %rdi,%rbx
    14b2:	e8 78 02 00 00       	callq  172f <string_length>
    # we must input a string whose length is 6
    14b7:	83 f8 06             	cmp    $0x6,%eax
    14ba:	75 31                	jne    14ed <phase_5+0x3f>
    14bc:	48 89 d8             	mov    %rbx,%rax
    14bf:	48 8d 7b 06          	lea    0x6(%rbx),%rdi
    14c3:	b9 00 00 00 00       	mov    $0x0,%ecx
    14c8:	48 8d 35 91 15 00 00 	lea    0x1591(%rip),%rsi        # 2a60 <array.3416>
    # We use the remainder of each character mod 16 to be the index of
    # integer array which rsi referenced
    # And then add each interger that character corresponds to, and
    # store the result in %ecx
    # We should confirm that the value of 'ecx' is equal to 0x39
    14cf:	0f b6 10             	movzbl (%rax),%edx
    14d2:	83 e2 0f             	and    $0xf,%edx
    14d5:	03 0c 96             	add    (%rsi,%rdx,4),%ecx
    14d8:	48 83 c0 01          	add    $0x1,%rax
    14dc:	48 39 f8             	cmp    %rdi,%rax
    14df:	75 ee                	jne    14cf <phase_5+0x21>
    14e1:	83 f9 39             	cmp    $0x39,%ecx
    14e4:	74 05                	je     14eb <phase_5+0x3d>
    14e6:	e8 f1 04 00 00       	callq  19dc <explode_bomb>
    14eb:	5b                   	pop    %rbx
    14ec:	c3                   	retq   
    14ed:	e8 ea 04 00 00       	callq  19dc <explode_bomb>
    14f2:	eb c8                	jmp    14bc <phase_5+0xe>

00000000000014f4 <phase_6>:
    14f4:	41 55                	push   %r13
    14f6:	41 54                	push   %r12
    14f8:	55                   	push   %rbp
    14f9:	53                   	push   %rbx
    14fa:	48 83 ec 68          	sub    $0x68,%rsp
    14fe:	64 48 8b 04 25 28 00 	mov    %fs:0x28,%rax
    1505:	00 00 
    1507:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
    150c:	31 c0                	xor    %eax,%eax
    150e:	49 89 e4             	mov    %rsp,%r12
    1511:	4c 89 e6             	mov    %r12,%rsi
    1514:	e8 ff 04 00 00       	callq  1a18 <read_six_numbers>
    1519:	41 bd 00 00 00 00    	mov    $0x0,%r13d
    151f:	eb 25                	jmp    1546 <phase_6+0x52>
    1521:	e8 b6 04 00 00       	callq  19dc <explode_bomb>
    1526:	eb 2d                	jmp    1555 <phase_6+0x61>
    1528:	83 c3 01             	add    $0x1,%ebx
    152b:	83 fb 05             	cmp    $0x5,%ebx
    152e:	7f 12                	jg     1542 <phase_6+0x4e>
    1530:	48 63 c3             	movslq %ebx,%rax
    1533:	8b 04 84             	mov    (%rsp,%rax,4),%eax
    1536:	39 45 00             	cmp    %eax,0x0(%rbp)
    # each number should be different with each other!
    1539:	75 ed                	jne    1528 <phase_6+0x34>
    153b:	e8 9c 04 00 00       	callq  19dc <explode_bomb>
    1540:	eb e6                	jmp    1528 <phase_6+0x34>
    1542:	49 83 c4 04          	add    $0x4,%r12
    1546:	4c 89 e5             	mov    %r12,%rbp
    1549:	41 8b 04 24          	mov    (%r12),%eax
    154d:	83 e8 01             	sub    $0x1,%eax
    1550:	83 f8 05             	cmp    $0x5,%eax
    # each number must be less or equal than 6!
    1553:	77 cc                	ja     1521 <phase_6+0x2d>
    1555:	41 83 c5 01          	add    $0x1,%r13d
    1559:	41 83 fd 06          	cmp    $0x6,%r13d
    155d:	74 35                	je     1594 <phase_6+0xa0>
    155f:	44 89 eb             	mov    %r13d,%ebx
    1562:	eb cc                	jmp    1530 <phase_6+0x3c>
    1564:	48 8b 52 08          	mov    0x8(%rdx),%rdx
    1568:	83 c0 01             	add    $0x1,%eax
    156b:	39 c8                	cmp    %ecx,%eax
    156d:	75 f5                	jne    1564 <phase_6+0x70>
    156f:	48 89 54 f4 20       	mov    %rdx,0x20(%rsp,%rsi,8)
    1574:	48 83 c6 01          	add    $0x1,%rsi
    1578:	48 83 fe 06          	cmp    $0x6,%rsi
    157c:	74 1d                	je     159b <phase_6+0xa7>
    157e:	8b 0c b4             	mov    (%rsp,%rsi,4),%ecx
    1581:	b8 01 00 00 00       	mov    $0x1,%eax
    1586:	48 8d 15 b3 2c 20 00 	lea    0x202cb3(%rip),%rdx        # 204240 <node1>
    158d:	83 f9 01             	cmp    $0x1,%ecx
    # if one number is greater then 1, we should forward the list pointer
    # which steps is decided by the minus of number and 1
    1590:	7f d2                	jg     1564 <phase_6+0x70>
    1592:	eb db                	jmp    156f <phase_6+0x7b>
    1594:	be 00 00 00 00       	mov    $0x0,%esi
    1599:	eb e3                	jmp    157e <phase_6+0x8a>
    # according the six list pointers which resides in [%rsp+0x20,%rsp+0x50)
    # we could connect those to construct a list by complementing the 
    # 'next' field of those nodes which pointers referenced
    159b:	48 8b 5c 24 20       	mov    0x20(%rsp),%rbx
    15a0:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
    15a5:	48 89 43 08          	mov    %rax,0x8(%rbx)
    15a9:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx
    15ae:	48 89 50 08          	mov    %rdx,0x8(%rax)
    15b2:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
    15b7:	48 89 42 08          	mov    %rax,0x8(%rdx)
    15bb:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
    15c0:	48 89 50 08          	mov    %rdx,0x8(%rax)
    15c4:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
    15c9:	48 89 42 08          	mov    %rax,0x8(%rdx)
    15cd:	48 c7 40 08 00 00 00 	movq   $0x0,0x8(%rax)
    15d4:	00 
    15d5:	bd 05 00 00 00       	mov    $0x5,%ebp
    15da:	eb 09                	jmp    15e5 <phase_6+0xf1>
    15dc:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
    15e0:	83 ed 01             	sub    $0x1,%ebp
    15e3:	74 11                	je     15f6 <phase_6+0x102>
    15e5:	48 8b 43 08          	mov    0x8(%rbx),%rax
    15e9:	8b 00                	mov    (%rax),%eax
    15eb:	39 03                	cmp    %eax,(%rbx)
    # we should confirm that the list we construct above must be
    # monotonic-decrement!
    # The key to construct a monotonic-decrement list is to watch
    # the memory of 204240 <node1> and then select appropriate
    # six number to change the value of rdx which is responsible for
    # recording the list pointers.
    # After watching the memory about list, I have found that the origin
    # list was a monotonic-increment list, so the answer has been
    # obtained at once.
    # However there exists trap in 'cmp %eax, (%ebx)'!
    # Although the origin list was a monotonic-increment list,
    # during the comparison we just care about the low 4 bytes of
    # the data field of the list node.
    # In fact we should construct a list which makes the low 4 bytes
    # data could be monotonic-increment.
    15ed:	7d ed                	jge    15dc <phase_6+0xe8>
    15ef:	e8 e8 03 00 00       	callq  19dc <explode_bomb>
    15f4:	eb e6                	jmp    15dc <phase_6+0xe8>
    15f6:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
    15fb:	64 48 33 04 25 28 00 	xor    %fs:0x28,%rax
    1602:	00 00 
    1604:	75 0b                	jne    1611 <phase_6+0x11d>
    1606:	48 83 c4 68          	add    $0x68,%rsp
    160a:	5b                   	pop    %rbx
    160b:	5d                   	pop    %rbp
    160c:	41 5c                	pop    %r12
    160e:	41 5d                	pop    %r13
    1610:	c3                   	retq   
    1611:	e8 3a f8 ff ff       	callq  e50 <__stack_chk_fail@plt>

0000000000001616 <fun7>:
    # When I noticed that the structure pointed by %rdi has two pointers,
    # I suddently associated the binary tree.
    # The 'n1' points to the root node of the binary tree, and the overall
    # form about the binary tree is like below.
    
                                  0x24(0)
                 /                                      \
               0x8(0)                                 0x32(1)
        /                \                     /                \
     0x6(00)          0x16(10)             0x2d(01)          0x6b(11)
    /      \          /      \              /      \           /      \
0x0(000)0x7(100) 0x14(010)0x23(110)    0x28(001)0x2f(101)  0x63(011)0x3e(111)

    # When we construc the diagram about the binary tree, then we would also
    # found that the binary tree is a binary search tree.
    # If we descibe the function in C language, then the function may be
    # like below.

    int fun7(TreeNode *p, int val) {
        if(!p)
            return -1;
        if(p->val > val) 
             return 2 * fun7(p->left, val);
        else if(p->val == val)
             return 0;
        else
             return 2 * fun7(p->right, val) + 1;
    }
    
    # Then we could easily infer that then intention of func is to return
    # Huffman coding about 'val' if 'val' exists in binary search tree.
    # So if we would like to let function return 3, we should set the 
    # parameter 'val' with 0x6b or 0x63.
    1616:	48 85 ff             	test   %rdi,%rdi
    1619:	74 34                	je     164f <fun7+0x39>
    161b:	48 83 ec 08          	sub    $0x8,%rsp
    161f:	8b 17                	mov    (%rdi),%edx
    1621:	39 f2                	cmp    %esi,%edx
    1623:	7f 0e                	jg     1633 <fun7+0x1d>
    1625:	b8 00 00 00 00       	mov    $0x0,%eax
    162a:	39 f2                	cmp    %esi,%edx
    162c:	75 12                	jne    1640 <fun7+0x2a>
    162e:	48 83 c4 08          	add    $0x8,%rsp
    1632:	c3                   	retq   
    1633:	48 8b 7f 08          	mov    0x8(%rdi),%rdi
    1637:	e8 da ff ff ff       	callq  1616 <fun7>
    163c:	01 c0                	add    %eax,%eax
    163e:	eb ee                	jmp    162e <fun7+0x18>
    1640:	48 8b 7f 10          	mov    0x10(%rdi),%rdi
    1644:	e8 cd ff ff ff       	callq  1616 <fun7>
    1649:	8d 44 00 01          	lea    0x1(%rax,%rax,1),%eax
    164d:	eb df                	jmp    162e <fun7+0x18>
    164f:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
    1654:	c3                   	retq   

0000000000001655 <secret_phase>:
    1655:	53                   	push   %rbx
    1656:	e8 fe 03 00 00       	callq  1a59 <read_line>
    165b:	ba 0a 00 00 00       	mov    $0xa,%edx
    1660:	be 00 00 00 00       	mov    $0x0,%esi
    1665:	48 89 c7             	mov    %rax,%rdi
    1668:	e8 63 f8 ff ff       	callq  ed0 <strtol@plt>
    166d:	48 89 c3             	mov    %rax,%rbx
    1670:	8d 40 ff             	lea    -0x1(%rax),%eax
    1673:	3d e8 03 00 00       	cmp    $0x3e8,%eax
    1678:	77 2b                	ja     16a5 <secret_phase+0x50>
    167a:	89 de                	mov    %ebx,%esi
    167c:	48 8d 3d dd 2a 20 00 	lea    0x202add(%rip),%rdi        # 204160 <n1>
    1683:	e8 8e ff ff ff       	callq  1616 <fun7>
    1688:	83 f8 03             	cmp    $0x3,%eax
    168b:	74 05                	je     1692 <secret_phase+0x3d>
    168d:	e8 4a 03 00 00       	callq  19dc <explode_bomb>
    1692:	48 8d 3d 07 14 00 00 	lea    0x1407(%rip),%rdi        # 2aa0 <array.3416+0x40>
    1699:	e8 92 f7 ff ff       	callq  e30 <puts@plt>
    169e:	e8 fa 04 00 00       	callq  1b9d <phase_defused>
    16a3:	5b                   	pop    %rbx
    16a4:	c3                   	retq   
    16a5:	e8 32 03 00 00       	callq  19dc <explode_bomb>
    16aa:	eb ce                	jmp    167a <secret_phase+0x25>

00000000000016ac <sig_handler>:
    16ac:	48 83 ec 08          	sub    $0x8,%rsp
    16b0:	48 8d 3d 11 14 00 00 	lea    0x1411(%rip),%rdi        # 2ac8 <array.3416+0x68>
    16b7:	e8 74 f7 ff ff       	callq  e30 <puts@plt>
    16bc:	bf 03 00 00 00       	mov    $0x3,%edi
    16c1:	e8 8a f8 ff ff       	callq  f50 <sleep@plt>
    16c6:	48 8d 35 54 15 00 00 	lea    0x1554(%rip),%rsi        # 2c21 <array.3416+0x1c1>
    16cd:	bf 01 00 00 00       	mov    $0x1,%edi
    16d2:	b8 00 00 00 00       	mov    $0x0,%eax
    16d7:	e8 24 f8 ff ff       	callq  f00 <__printf_chk@plt>
    16dc:	48 8b 3d bd 2f 20 00 	mov    0x202fbd(%rip),%rdi        # 2046a0 <__TMC_END__>
    16e3:	e8 f8 f7 ff ff       	callq  ee0 <fflush@plt>
    16e8:	bf 01 00 00 00       	mov    $0x1,%edi
    16ed:	e8 5e f8 ff ff       	callq  f50 <sleep@plt>
    16f2:	48 8d 3d 30 15 00 00 	lea    0x1530(%rip),%rdi        # 2c29 <array.3416+0x1c9>
    16f9:	e8 32 f7 ff ff       	callq  e30 <puts@plt>
    16fe:	bf 10 00 00 00       	mov    $0x10,%edi
    1703:	e8 18 f8 ff ff       	callq  f20 <exit@plt>

0000000000001708 <invalid_phase>:
    1708:	48 83 ec 08          	sub    $0x8,%rsp
    170c:	48 89 fa             	mov    %rdi,%rdx
    170f:	48 8d 35 1b 15 00 00 	lea    0x151b(%rip),%rsi        # 2c31 <array.3416+0x1d1>
    1716:	bf 01 00 00 00       	mov    $0x1,%edi
    171b:	b8 00 00 00 00       	mov    $0x0,%eax
    1720:	e8 db f7 ff ff       	callq  f00 <__printf_chk@plt>
    1725:	bf 08 00 00 00       	mov    $0x8,%edi
    172a:	e8 f1 f7 ff ff       	callq  f20 <exit@plt>

000000000000172f <string_length>:
    172f:	80 3f 00             	cmpb   $0x0,(%rdi)
    1732:	74 12                	je     1746 <string_length+0x17>
    1734:	48 89 fa             	mov    %rdi,%rdx
    1737:	48 83 c2 01          	add    $0x1,%rdx
    173b:	89 d0                	mov    %edx,%eax
    173d:	29 f8                	sub    %edi,%eax
    173f:	80 3a 00             	cmpb   $0x0,(%rdx)
    1742:	75 f3                	jne    1737 <string_length+0x8>
    1744:	f3 c3                	repz retq 
    1746:	b8 00 00 00 00       	mov    $0x0,%eax
    174b:	c3                   	retq   

000000000000174c <strings_not_equal>:
    174c:	41 54                	push   %r12
    174e:	55                   	push   %rbp
    174f:	53                   	push   %rbx
    1750:	48 89 fb             	mov    %rdi,%rbx
    1753:	48 89 f5             	mov    %rsi,%rbp
    1756:	e8 d4 ff ff ff       	callq  172f <string_length>
    175b:	41 89 c4             	mov    %eax,%r12d
    175e:	48 89 ef             	mov    %rbp,%rdi
    1761:	e8 c9 ff ff ff       	callq  172f <string_length>
    1766:	ba 01 00 00 00       	mov    $0x1,%edx
    176b:	41 39 c4             	cmp    %eax,%r12d
    176e:	74 07                	je     1777 <strings_not_equal+0x2b>
    1770:	89 d0                	mov    %edx,%eax
    1772:	5b                   	pop    %rbx
    1773:	5d                   	pop    %rbp
    1774:	41 5c                	pop    %r12
    1776:	c3                   	retq   
    1777:	0f b6 03             	movzbl (%rbx),%eax
    177a:	84 c0                	test   %al,%al
    177c:	74 27                	je     17a5 <strings_not_equal+0x59>
    177e:	3a 45 00             	cmp    0x0(%rbp),%al
    1781:	75 29                	jne    17ac <strings_not_equal+0x60>
    1783:	48 83 c3 01          	add    $0x1,%rbx
    1787:	48 83 c5 01          	add    $0x1,%rbp
    178b:	0f b6 03             	movzbl (%rbx),%eax
    178e:	84 c0                	test   %al,%al
    1790:	74 0c                	je     179e <strings_not_equal+0x52>
    1792:	38 45 00             	cmp    %al,0x0(%rbp)
    1795:	74 ec                	je     1783 <strings_not_equal+0x37>
    1797:	ba 01 00 00 00       	mov    $0x1,%edx
    179c:	eb d2                	jmp    1770 <strings_not_equal+0x24>
    179e:	ba 00 00 00 00       	mov    $0x0,%edx
    17a3:	eb cb                	jmp    1770 <strings_not_equal+0x24>
    17a5:	ba 00 00 00 00       	mov    $0x0,%edx
    17aa:	eb c4                	jmp    1770 <strings_not_equal+0x24>
    17ac:	ba 01 00 00 00       	mov    $0x1,%edx
    17b1:	eb bd                	jmp    1770 <strings_not_equal+0x24>

00000000000017b3 <initialize_bomb>:
    17b3:	48 81 ec 18 20 00 00 	sub    $0x2018,%rsp
    17ba:	64 48 8b 04 25 28 00 	mov    %fs:0x28,%rax
    17c1:	00 00 
    17c3:	48 89 84 24 08 20 00 	mov    %rax,0x2008(%rsp)
    17ca:	00 
    17cb:	31 c0                	xor    %eax,%eax
    17cd:	48 8d 35 d8 fe ff ff 	lea    -0x128(%rip),%rsi        # 16ac <sig_handler>
    17d4:	bf 02 00 00 00       	mov    $0x2,%edi
    17d9:	e8 c2 f6 ff ff       	callq  ea0 <signal@plt>
    17de:	48 89 e7             	mov    %rsp,%rdi
    17e1:	e8 d3 0d 00 00       	callq  25b9 <init_driver>
    17e6:	85 c0                	test   %eax,%eax
    17e8:	78 1b                	js     1805 <initialize_bomb+0x52>
    17ea:	48 8b 84 24 08 20 00 	mov    0x2008(%rsp),%rax
    17f1:	00 
    17f2:	64 48 33 04 25 28 00 	xor    %fs:0x28,%rax
    17f9:	00 00 
    17fb:	75 2b                	jne    1828 <initialize_bomb+0x75>
    17fd:	48 81 c4 18 20 00 00 	add    $0x2018,%rsp
    1804:	c3                   	retq   
    1805:	48 89 e2             	mov    %rsp,%rdx
    1808:	48 8d 35 33 14 00 00 	lea    0x1433(%rip),%rsi        # 2c42 <array.3416+0x1e2>
    180f:	bf 01 00 00 00       	mov    $0x1,%edi
    1814:	b8 00 00 00 00       	mov    $0x0,%eax
    1819:	e8 e2 f6 ff ff       	callq  f00 <__printf_chk@plt>
    181e:	bf 08 00 00 00       	mov    $0x8,%edi
    1823:	e8 f8 f6 ff ff       	callq  f20 <exit@plt>
    1828:	e8 23 f6 ff ff       	callq  e50 <__stack_chk_fail@plt>

000000000000182d <initialize_bomb_solve>:
    182d:	f3 c3                	repz retq 

000000000000182f <blank_line>:
    182f:	55                   	push   %rbp
    1830:	53                   	push   %rbx
    1831:	48 83 ec 08          	sub    $0x8,%rsp
    1835:	48 89 fd             	mov    %rdi,%rbp
    1838:	0f b6 5d 00          	movzbl 0x0(%rbp),%ebx
    183c:	84 db                	test   %bl,%bl
    183e:	74 1e                	je     185e <blank_line+0x2f>
    1840:	e8 1b f7 ff ff       	callq  f60 <__ctype_b_loc@plt>
    1845:	48 83 c5 01          	add    $0x1,%rbp
    1849:	48 0f be db          	movsbq %bl,%rbx
    184d:	48 8b 00             	mov    (%rax),%rax
    1850:	f6 44 58 01 20       	testb  $0x20,0x1(%rax,%rbx,2)
    1855:	75 e1                	jne    1838 <blank_line+0x9>
    1857:	b8 00 00 00 00       	mov    $0x0,%eax
    185c:	eb 05                	jmp    1863 <blank_line+0x34>
    185e:	b8 01 00 00 00       	mov    $0x1,%eax
    1863:	48 83 c4 08          	add    $0x8,%rsp
    1867:	5b                   	pop    %rbx
    1868:	5d                   	pop    %rbp
    1869:	c3                   	retq   

000000000000186a <skip>:
    186a:	55                   	push   %rbp
    186b:	53                   	push   %rbx
    186c:	48 83 ec 08          	sub    $0x8,%rsp
    1870:	48 8d 2d 69 2e 20 00 	lea    0x202e69(%rip),%rbp        # 2046e0 <input_strings>
    1877:	48 63 05 4e 2e 20 00 	movslq 0x202e4e(%rip),%rax        # 2046cc <num_input_strings>
    187e:	48 8d 3c 80          	lea    (%rax,%rax,4),%rdi
    1882:	48 c1 e7 04          	shl    $0x4,%rdi
    1886:	48 01 ef             	add    %rbp,%rdi
    1889:	48 8b 15 40 2e 20 00 	mov    0x202e40(%rip),%rdx        # 2046d0 <infile>
    1890:	be 50 00 00 00       	mov    $0x50,%esi
    1895:	e8 f6 f5 ff ff       	callq  e90 <fgets@plt>
    189a:	48 89 c3             	mov    %rax,%rbx
    189d:	48 85 c0             	test   %rax,%rax
    18a0:	74 0c                	je     18ae <skip+0x44>
    18a2:	48 89 c7             	mov    %rax,%rdi
    18a5:	e8 85 ff ff ff       	callq  182f <blank_line>
    18aa:	85 c0                	test   %eax,%eax
    18ac:	75 c9                	jne    1877 <skip+0xd>
    18ae:	48 89 d8             	mov    %rbx,%rax
    18b1:	48 83 c4 08          	add    $0x8,%rsp
    18b5:	5b                   	pop    %rbx
    18b6:	5d                   	pop    %rbp
    18b7:	c3                   	retq   

00000000000018b8 <send_msg>:
    18b8:	53                   	push   %rbx
    18b9:	48 81 ec 10 40 00 00 	sub    $0x4010,%rsp
    18c0:	41 89 f8             	mov    %edi,%r8d
    18c3:	64 48 8b 04 25 28 00 	mov    %fs:0x28,%rax
    18ca:	00 00 
    18cc:	48 89 84 24 08 40 00 	mov    %rax,0x4008(%rsp)
    18d3:	00 
    18d4:	31 c0                	xor    %eax,%eax
    18d6:	8b 35 f0 2d 20 00    	mov    0x202df0(%rip),%esi        # 2046cc <num_input_strings>
    18dc:	8d 46 ff             	lea    -0x1(%rsi),%eax
    18df:	48 98                	cltq   
    18e1:	48 8d 14 80          	lea    (%rax,%rax,4),%rdx
    18e5:	48 c1 e2 04          	shl    $0x4,%rdx
    18e9:	48 8d 05 f0 2d 20 00 	lea    0x202df0(%rip),%rax        # 2046e0 <input_strings>
    18f0:	48 01 c2             	add    %rax,%rdx
    18f3:	48 c7 c1 ff ff ff ff 	mov    $0xffffffffffffffff,%rcx
    18fa:	b8 00 00 00 00       	mov    $0x0,%eax
    18ff:	48 89 d7             	mov    %rdx,%rdi
    1902:	f2 ae                	repnz scas %es:(%rdi),%al
    1904:	48 89 c8             	mov    %rcx,%rax
    1907:	48 f7 d0             	not    %rax
    190a:	48 83 c0 63          	add    $0x63,%rax
    190e:	48 3d 00 20 00 00    	cmp    $0x2000,%rax
    1914:	0f 87 86 00 00 00    	ja     19a0 <send_msg+0xe8>
    191a:	45 85 c0             	test   %r8d,%r8d
    191d:	4c 8d 0d 38 13 00 00 	lea    0x1338(%rip),%r9        # 2c5c <array.3416+0x1fc>
    1924:	48 8d 05 39 13 00 00 	lea    0x1339(%rip),%rax        # 2c64 <array.3416+0x204>
    192b:	4c 0f 44 c8          	cmove  %rax,%r9
    192f:	48 89 e3             	mov    %rsp,%rbx
    1932:	52                   	push   %rdx
    1933:	56                   	push   %rsi
    1934:	44 8b 05 19 28 20 00 	mov    0x202819(%rip),%r8d        # 204154 <bomb_id>
    193b:	48 8d 0d 2b 13 00 00 	lea    0x132b(%rip),%rcx        # 2c6d <array.3416+0x20d>
    1942:	ba 00 20 00 00       	mov    $0x2000,%edx
    1947:	be 01 00 00 00       	mov    $0x1,%esi
    194c:	48 89 df             	mov    %rbx,%rdi
    194f:	b8 00 00 00 00       	mov    $0x0,%eax
    1954:	e8 17 f6 ff ff       	callq  f70 <__sprintf_chk@plt>
    1959:	4c 8d 84 24 10 20 00 	lea    0x2010(%rsp),%r8
    1960:	00 
    1961:	b9 00 00 00 00       	mov    $0x0,%ecx
    1966:	48 89 da             	mov    %rbx,%rdx
    1969:	48 8d 35 b0 27 20 00 	lea    0x2027b0(%rip),%rsi        # 204120 <user_password>
    1970:	48 8d 3d c9 27 20 00 	lea    0x2027c9(%rip),%rdi        # 204140 <userid>
    1977:	e8 46 0e 00 00       	callq  27c2 <driver_post>
    197c:	48 83 c4 10          	add    $0x10,%rsp
    1980:	85 c0                	test   %eax,%eax
    1982:	78 3c                	js     19c0 <send_msg+0x108>
    1984:	48 8b 84 24 08 40 00 	mov    0x4008(%rsp),%rax
    198b:	00 
    198c:	64 48 33 04 25 28 00 	xor    %fs:0x28,%rax
    1993:	00 00 
    1995:	75 40                	jne    19d7 <send_msg+0x11f>
    1997:	48 81 c4 10 40 00 00 	add    $0x4010,%rsp
    199e:	5b                   	pop    %rbx
    199f:	c3                   	retq   
    19a0:	48 8d 35 59 11 00 00 	lea    0x1159(%rip),%rsi        # 2b00 <array.3416+0xa0>
    19a7:	bf 01 00 00 00       	mov    $0x1,%edi
    19ac:	b8 00 00 00 00       	mov    $0x0,%eax
    19b1:	e8 4a f5 ff ff       	callq  f00 <__printf_chk@plt>
    19b6:	bf 08 00 00 00       	mov    $0x8,%edi
    19bb:	e8 60 f5 ff ff       	callq  f20 <exit@plt>
    19c0:	48 8d bc 24 00 20 00 	lea    0x2000(%rsp),%rdi
    19c7:	00 
    19c8:	e8 63 f4 ff ff       	callq  e30 <puts@plt>
    19cd:	bf 00 00 00 00       	mov    $0x0,%edi
    19d2:	e8 49 f5 ff ff       	callq  f20 <exit@plt>
    19d7:	e8 74 f4 ff ff       	callq  e50 <__stack_chk_fail@plt>

00000000000019dc <explode_bomb>:
    19dc:	48 83 ec 08          	sub    $0x8,%rsp
    19e0:	48 8d 3d 92 12 00 00 	lea    0x1292(%rip),%rdi        # 2c79 <array.3416+0x219>
    19e7:	e8 44 f4 ff ff       	callq  e30 <puts@plt>
    19ec:	48 8d 3d 8f 12 00 00 	lea    0x128f(%rip),%rdi        # 2c82 <array.3416+0x222>
    19f3:	e8 38 f4 ff ff       	callq  e30 <puts@plt>
    19f8:	bf 00 00 00 00       	mov    $0x0,%edi
    19fd:	e8 b6 fe ff ff       	callq  18b8 <send_msg>
    1a02:	48 8d 3d 1f 11 00 00 	lea    0x111f(%rip),%rdi        # 2b28 <array.3416+0xc8>
    1a09:	e8 22 f4 ff ff       	callq  e30 <puts@plt>
    1a0e:	bf 08 00 00 00       	mov    $0x8,%edi
    1a13:	e8 08 f5 ff ff       	callq  f20 <exit@plt>

0000000000001a18 <read_six_numbers>:
    1a18:	48 83 ec 08          	sub    $0x8,%rsp
    1a1c:	48 89 f2             	mov    %rsi,%rdx
    1a1f:	48 8d 4e 04          	lea    0x4(%rsi),%rcx
    1a23:	48 8d 46 14          	lea    0x14(%rsi),%rax
    1a27:	50                   	push   %rax
    1a28:	48 8d 46 10          	lea    0x10(%rsi),%rax
    1a2c:	50                   	push   %rax
    1a2d:	4c 8d 4e 0c          	lea    0xc(%rsi),%r9
    1a31:	4c 8d 46 08          	lea    0x8(%rsi),%r8
    1a35:	48 8d 35 5d 12 00 00 	lea    0x125d(%rip),%rsi        # 2c99 <array.3416+0x239>
    1a3c:	b8 00 00 00 00       	mov    $0x0,%eax
    1a41:	e8 aa f4 ff ff       	callq  ef0 <__isoc99_sscanf@plt>
    1a46:	48 83 c4 10          	add    $0x10,%rsp
    1a4a:	83 f8 05             	cmp    $0x5,%eax
    1a4d:	7e 05                	jle    1a54 <read_six_numbers+0x3c>
    1a4f:	48 83 c4 08          	add    $0x8,%rsp
    1a53:	c3                   	retq   
    1a54:	e8 83 ff ff ff       	callq  19dc <explode_bomb>

0000000000001a59 <read_line>:
    1a59:	48 83 ec 08          	sub    $0x8,%rsp
    1a5d:	b8 00 00 00 00       	mov    $0x0,%eax
    1a62:	e8 03 fe ff ff       	callq  186a <skip>
    1a67:	48 85 c0             	test   %rax,%rax
    1a6a:	74 6f                	je     1adb <read_line+0x82>
    1a6c:	8b 35 5a 2c 20 00    	mov    0x202c5a(%rip),%esi        # 2046cc <num_input_strings>
    1a72:	48 63 c6             	movslq %esi,%rax
    1a75:	48 8d 14 80          	lea    (%rax,%rax,4),%rdx
    1a79:	48 c1 e2 04          	shl    $0x4,%rdx
    1a7d:	48 8d 05 5c 2c 20 00 	lea    0x202c5c(%rip),%rax        # 2046e0 <input_strings>
    1a84:	48 01 c2             	add    %rax,%rdx
    1a87:	48 c7 c1 ff ff ff ff 	mov    $0xffffffffffffffff,%rcx
    1a8e:	b8 00 00 00 00       	mov    $0x0,%eax
    1a93:	48 89 d7             	mov    %rdx,%rdi
    1a96:	f2 ae                	repnz scas %es:(%rdi),%al
    1a98:	48 f7 d1             	not    %rcx
    1a9b:	48 83 e9 01          	sub    $0x1,%rcx
    1a9f:	83 f9 4e             	cmp    $0x4e,%ecx
    1aa2:	0f 8f ab 00 00 00    	jg     1b53 <read_line+0xfa>
    1aa8:	83 e9 01             	sub    $0x1,%ecx
    1aab:	48 63 c9             	movslq %ecx,%rcx
    1aae:	48 63 c6             	movslq %esi,%rax
    1ab1:	48 8d 04 80          	lea    (%rax,%rax,4),%rax
    1ab5:	48 c1 e0 04          	shl    $0x4,%rax
    1ab9:	48 89 c7             	mov    %rax,%rdi
    1abc:	48 8d 05 1d 2c 20 00 	lea    0x202c1d(%rip),%rax        # 2046e0 <input_strings>
    1ac3:	48 01 f8             	add    %rdi,%rax
    1ac6:	c6 04 08 00          	movb   $0x0,(%rax,%rcx,1)
    1aca:	83 c6 01             	add    $0x1,%esi
    1acd:	89 35 f9 2b 20 00    	mov    %esi,0x202bf9(%rip)        # 2046cc <num_input_strings>
    1ad3:	48 89 d0             	mov    %rdx,%rax
    1ad6:	48 83 c4 08          	add    $0x8,%rsp
    1ada:	c3                   	retq   
    1adb:	48 8b 05 ce 2b 20 00 	mov    0x202bce(%rip),%rax        # 2046b0 <stdin@@GLIBC_2.2.5>
    1ae2:	48 39 05 e7 2b 20 00 	cmp    %rax,0x202be7(%rip)        # 2046d0 <infile>
    1ae9:	74 1b                	je     1b06 <read_line+0xad>
    1aeb:	48 8d 3d d7 11 00 00 	lea    0x11d7(%rip),%rdi        # 2cc9 <array.3416+0x269>
    1af2:	e8 09 f3 ff ff       	callq  e00 <getenv@plt>
    1af7:	48 85 c0             	test   %rax,%rax
    1afa:	74 20                	je     1b1c <read_line+0xc3>
    1afc:	bf 00 00 00 00       	mov    $0x0,%edi
    1b01:	e8 1a f4 ff ff       	callq  f20 <exit@plt>
    1b06:	48 8d 3d 9e 11 00 00 	lea    0x119e(%rip),%rdi        # 2cab <array.3416+0x24b>
    1b0d:	e8 1e f3 ff ff       	callq  e30 <puts@plt>
    1b12:	bf 08 00 00 00       	mov    $0x8,%edi
    1b17:	e8 04 f4 ff ff       	callq  f20 <exit@plt>
    1b1c:	48 8b 05 8d 2b 20 00 	mov    0x202b8d(%rip),%rax        # 2046b0 <stdin@@GLIBC_2.2.5>
    1b23:	48 89 05 a6 2b 20 00 	mov    %rax,0x202ba6(%rip)        # 2046d0 <infile>
    1b2a:	b8 00 00 00 00       	mov    $0x0,%eax
    1b2f:	e8 36 fd ff ff       	callq  186a <skip>
    1b34:	48 85 c0             	test   %rax,%rax
    1b37:	0f 85 2f ff ff ff    	jne    1a6c <read_line+0x13>
    1b3d:	48 8d 3d 67 11 00 00 	lea    0x1167(%rip),%rdi        # 2cab <array.3416+0x24b>
    1b44:	e8 e7 f2 ff ff       	callq  e30 <puts@plt>
    1b49:	bf 00 00 00 00       	mov    $0x0,%edi
    1b4e:	e8 cd f3 ff ff       	callq  f20 <exit@plt>
    1b53:	48 8d 3d 7a 11 00 00 	lea    0x117a(%rip),%rdi        # 2cd4 <array.3416+0x274>
    1b5a:	e8 d1 f2 ff ff       	callq  e30 <puts@plt>
    1b5f:	8b 05 67 2b 20 00    	mov    0x202b67(%rip),%eax        # 2046cc <num_input_strings>
    1b65:	8d 50 01             	lea    0x1(%rax),%edx
    # If we would entry the secret phase, the first step is to
    # assure [num_input_strings] is equal to 6.
    # And the following line is the only chance to complish that step.

    # However, it is not necessary for us to care about the value of
    # [num_input_strings] for the value would increment automically
    # along with the phase number.
    # In a word, [num_input_strings] would always represents the 
    # phase number as its initial value is zero.
    # Therefore, we had accomplished the first step effortlessly
    # when we complished the phase_6.
    1b68:	89 15 5e 2b 20 00    	mov    %edx,0x202b5e(%rip)        # 2046cc <num_input_strings>
    1b6e:	48 98                	cltq   
    1b70:	48 6b c0 50          	imul   $0x50,%rax,%rax
    1b74:	48 8d 15 65 2b 20 00 	lea    0x202b65(%rip),%rdx        # 2046e0 <input_strings>
    1b7b:	48 be 2a 2a 2a 74 72 	movabs $0x636e7572742a2a2a,%rsi
    1b82:	75 6e 63 
    1b85:	48 bf 61 74 65 64 2a 	movabs $0x2a2a2a64657461,%rdi
    1b8c:	2a 2a 00 
    1b8f:	48 89 34 02          	mov    %rsi,(%rdx,%rax,1)
    1b93:	48 89 7c 02 08       	mov    %rdi,0x8(%rdx,%rax,1)
    1b98:	e8 3f fe ff ff       	callq  19dc <explode_bomb>

0000000000001b9d <phase_defused>:
    1b9d:	48 83 ec 78          	sub    $0x78,%rsp
    1ba1:	64 48 8b 04 25 28 00 	mov    %fs:0x28,%rax
    1ba8:	00 00 
    1baa:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
    1baf:	31 c0                	xor    %eax,%eax
    1bb1:	bf 01 00 00 00       	mov    $0x1,%edi
    1bb6:	e8 fd fc ff ff       	callq  18b8 <send_msg>
    # If we have accomplish the six phases, we would be qualified to enter
    # the secret phase.
    1bbb:	83 3d 0a 2b 20 00 06 	cmpl   $0x6,0x202b0a(%rip)        # 2046cc <num_input_strings>
    1bc2:	74 19                	je     1bdd <phase_defused+0x40>
    1bc4:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
    1bc9:	64 48 33 04 25 28 00 	xor    %fs:0x28,%rax
    1bd0:	00 00 
    1bd2:	0f 85 84 00 00 00    	jne    1c5c <phase_defused+0xbf>
    1bd8:	48 83 c4 78          	add    $0x78,%rsp
    1bdc:	c3                   	retq   
    1bdd:	48 8d 4c 24 0c       	lea    0xc(%rsp),%rcx
    1be2:	48 8d 54 24 08       	lea    0x8(%rsp),%rdx
    1be7:	4c 8d 44 24 10       	lea    0x10(%rsp),%r8
    # Through debugging, we have noticed an important fact that %rdi points
    # to the string which we has ever used to defuse 'phase_4' and %rsi 
    # points to the format string "%d %d %s".
    # After calling the 'sccanf', it would compare the string which occured
    # behind two number in the string used to defuse 'phase_4' with the
    # string which resides in <array.3416 + 0x298>.
    # If above two string is equal, then we could enter the secret phase.
    1bec:	48 8d 35 fc 10 00 00 	lea    0x10fc(%rip),%rsi        # 2cef <array.3416+0x28f>
    1bf3:	48 8d 3d d6 2b 20 00 	lea    0x202bd6(%rip),%rdi        # 2047d0 <input_strings+0xf0>
    1bfa:	b8 00 00 00 00       	mov    $0x0,%eax
    1bff:	e8 ec f2 ff ff       	callq  ef0 <__isoc99_sscanf@plt>
    1c04:	83 f8 03             	cmp    $0x3,%eax
    1c07:	74 1a                	je     1c23 <phase_defused+0x86>
    1c09:	48 8d 3d a0 0f 00 00 	lea    0xfa0(%rip),%rdi        # 2bb0 <array.3416+0x150>
    1c10:	e8 1b f2 ff ff       	callq  e30 <puts@plt>
    1c15:	48 8d 3d c4 0f 00 00 	lea    0xfc4(%rip),%rdi        # 2be0 <array.3416+0x180>
    1c1c:	e8 0f f2 ff ff       	callq  e30 <puts@plt>
    1c21:	eb a1                	jmp    1bc4 <phase_defused+0x27>
    1c23:	48 8d 7c 24 10       	lea    0x10(%rsp),%rdi
    1c28:	48 8d 35 c9 10 00 00 	lea    0x10c9(%rip),%rsi        # 2cf8 <array.3416+0x298>
    1c2f:	e8 18 fb ff ff       	callq  174c <strings_not_equal>
    1c34:	85 c0                	test   %eax,%eax
    1c36:	75 d1                	jne    1c09 <phase_defused+0x6c>
    1c38:	48 8d 3d 11 0f 00 00 	lea    0xf11(%rip),%rdi        # 2b50 <array.3416+0xf0>
    1c3f:	e8 ec f1 ff ff       	callq  e30 <puts@plt>
    1c44:	48 8d 3d 2d 0f 00 00 	lea    0xf2d(%rip),%rdi        # 2b78 <array.3416+0x118>
    1c4b:	e8 e0 f1 ff ff       	callq  e30 <puts@plt>
    1c50:	b8 00 00 00 00       	mov    $0x0,%eax
    1c55:	e8 fb f9 ff ff       	callq  1655 <secret_phase>
    1c5a:	eb ad                	jmp    1c09 <phase_defused+0x6c>
    1c5c:	e8 ef f1 ff ff       	callq  e50 <__stack_chk_fail@plt>

0000000000001c61 <sigalrm_handler>:
    1c61:	48 83 ec 08          	sub    $0x8,%rsp
    1c65:	b9 00 00 00 00       	mov    $0x0,%ecx
    1c6a:	48 8d 15 f7 10 00 00 	lea    0x10f7(%rip),%rdx        # 2d68 <array.3416+0x308>
    1c71:	be 01 00 00 00       	mov    $0x1,%esi
    1c76:	48 8b 3d 43 2a 20 00 	mov    0x202a43(%rip),%rdi        # 2046c0 <stderr@@GLIBC_2.2.5>
    1c7d:	b8 00 00 00 00       	mov    $0x0,%eax
    1c82:	e8 b9 f2 ff ff       	callq  f40 <__fprintf_chk@plt>
    1c87:	bf 01 00 00 00       	mov    $0x1,%edi
    1c8c:	e8 8f f2 ff ff       	callq  f20 <exit@plt>

0000000000001c91 <rio_readlineb>:
    1c91:	41 56                	push   %r14
    1c93:	41 55                	push   %r13
    1c95:	41 54                	push   %r12
    1c97:	55                   	push   %rbp
    1c98:	53                   	push   %rbx
    1c99:	48 89 fb             	mov    %rdi,%rbx
    1c9c:	49 89 f4             	mov    %rsi,%r12
    1c9f:	49 89 d6             	mov    %rdx,%r14
    1ca2:	41 bd 01 00 00 00    	mov    $0x1,%r13d
    1ca8:	48 8d 6f 10          	lea    0x10(%rdi),%rbp
    1cac:	48 83 fa 01          	cmp    $0x1,%rdx
    1cb0:	77 0c                	ja     1cbe <rio_readlineb+0x2d>
    1cb2:	eb 60                	jmp    1d14 <rio_readlineb+0x83>
    1cb4:	e8 57 f1 ff ff       	callq  e10 <__errno_location@plt>
    1cb9:	83 38 04             	cmpl   $0x4,(%rax)
    1cbc:	75 67                	jne    1d25 <rio_readlineb+0x94>
    1cbe:	8b 43 04             	mov    0x4(%rbx),%eax
    1cc1:	85 c0                	test   %eax,%eax
    1cc3:	7f 20                	jg     1ce5 <rio_readlineb+0x54>
    1cc5:	ba 00 20 00 00       	mov    $0x2000,%edx
    1cca:	48 89 ee             	mov    %rbp,%rsi
    1ccd:	8b 3b                	mov    (%rbx),%edi
    1ccf:	e8 ac f1 ff ff       	callq  e80 <read@plt>
    1cd4:	89 43 04             	mov    %eax,0x4(%rbx)
    1cd7:	85 c0                	test   %eax,%eax
    1cd9:	78 d9                	js     1cb4 <rio_readlineb+0x23>
    1cdb:	85 c0                	test   %eax,%eax
    1cdd:	74 4f                	je     1d2e <rio_readlineb+0x9d>
    1cdf:	48 89 6b 08          	mov    %rbp,0x8(%rbx)
    1ce3:	eb d9                	jmp    1cbe <rio_readlineb+0x2d>
    1ce5:	48 8b 53 08          	mov    0x8(%rbx),%rdx
    1ce9:	0f b6 0a             	movzbl (%rdx),%ecx
    1cec:	48 83 c2 01          	add    $0x1,%rdx
    1cf0:	48 89 53 08          	mov    %rdx,0x8(%rbx)
    1cf4:	83 e8 01             	sub    $0x1,%eax
    1cf7:	89 43 04             	mov    %eax,0x4(%rbx)
    1cfa:	49 83 c4 01          	add    $0x1,%r12
    1cfe:	41 88 4c 24 ff       	mov    %cl,-0x1(%r12)
    1d03:	80 f9 0a             	cmp    $0xa,%cl
    1d06:	74 0c                	je     1d14 <rio_readlineb+0x83>
    1d08:	41 83 c5 01          	add    $0x1,%r13d
    1d0c:	49 63 c5             	movslq %r13d,%rax
    1d0f:	4c 39 f0             	cmp    %r14,%rax
    1d12:	72 aa                	jb     1cbe <rio_readlineb+0x2d>
    1d14:	41 c6 04 24 00       	movb   $0x0,(%r12)
    1d19:	49 63 c5             	movslq %r13d,%rax
    1d1c:	5b                   	pop    %rbx
    1d1d:	5d                   	pop    %rbp
    1d1e:	41 5c                	pop    %r12
    1d20:	41 5d                	pop    %r13
    1d22:	41 5e                	pop    %r14
    1d24:	c3                   	retq   
    1d25:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
    1d2c:	eb 05                	jmp    1d33 <rio_readlineb+0xa2>
    1d2e:	b8 00 00 00 00       	mov    $0x0,%eax
    1d33:	85 c0                	test   %eax,%eax
    1d35:	75 0d                	jne    1d44 <rio_readlineb+0xb3>
    1d37:	b8 00 00 00 00       	mov    $0x0,%eax
    1d3c:	41 83 fd 01          	cmp    $0x1,%r13d
    1d40:	75 d2                	jne    1d14 <rio_readlineb+0x83>
    1d42:	eb d8                	jmp    1d1c <rio_readlineb+0x8b>
    1d44:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
    1d4b:	eb cf                	jmp    1d1c <rio_readlineb+0x8b>

0000000000001d4d <submitr>:
    1d4d:	41 57                	push   %r15
    1d4f:	41 56                	push   %r14
    1d51:	41 55                	push   %r13
    1d53:	41 54                	push   %r12
    1d55:	55                   	push   %rbp
    1d56:	53                   	push   %rbx
    1d57:	48 81 ec 78 a0 00 00 	sub    $0xa078,%rsp
    1d5e:	49 89 fd             	mov    %rdi,%r13
    1d61:	89 f5                	mov    %esi,%ebp
    1d63:	48 89 54 24 08       	mov    %rdx,0x8(%rsp)
    1d68:	48 89 4c 24 10       	mov    %rcx,0x10(%rsp)
    1d6d:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
    1d72:	4c 89 4c 24 18       	mov    %r9,0x18(%rsp)
    1d77:	48 8b 9c 24 b0 a0 00 	mov    0xa0b0(%rsp),%rbx
    1d7e:	00 
    1d7f:	4c 8b bc 24 b8 a0 00 	mov    0xa0b8(%rsp),%r15
    1d86:	00 
    1d87:	64 48 8b 04 25 28 00 	mov    %fs:0x28,%rax
    1d8e:	00 00 
    1d90:	48 89 84 24 68 a0 00 	mov    %rax,0xa068(%rsp)
    1d97:	00 
    1d98:	31 c0                	xor    %eax,%eax
    1d9a:	c7 44 24 3c 00 00 00 	movl   $0x0,0x3c(%rsp)
    1da1:	00 
    1da2:	ba 00 00 00 00       	mov    $0x0,%edx
    1da7:	be 01 00 00 00       	mov    $0x1,%esi
    1dac:	bf 02 00 00 00       	mov    $0x2,%edi
    1db1:	e8 ca f1 ff ff       	callq  f80 <socket@plt>
    1db6:	85 c0                	test   %eax,%eax
    1db8:	0f 88 35 01 00 00    	js     1ef3 <submitr+0x1a6>
    1dbe:	41 89 c4             	mov    %eax,%r12d
    1dc1:	4c 89 ef             	mov    %r13,%rdi
    1dc4:	e8 e7 f0 ff ff       	callq  eb0 <gethostbyname@plt>
    1dc9:	48 85 c0             	test   %rax,%rax
    1dcc:	0f 84 71 01 00 00    	je     1f43 <submitr+0x1f6>
    1dd2:	4c 8d 6c 24 40       	lea    0x40(%rsp),%r13
    1dd7:	48 c7 44 24 42 00 00 	movq   $0x0,0x42(%rsp)
    1dde:	00 00 
    1de0:	c7 44 24 4a 00 00 00 	movl   $0x0,0x4a(%rsp)
    1de7:	00 
    1de8:	66 c7 44 24 4e 00 00 	movw   $0x0,0x4e(%rsp)
    1def:	66 c7 44 24 40 02 00 	movw   $0x2,0x40(%rsp)
    1df6:	48 63 50 14          	movslq 0x14(%rax),%rdx
    1dfa:	48 8b 40 18          	mov    0x18(%rax),%rax
    1dfe:	48 8d 7c 24 44       	lea    0x44(%rsp),%rdi
    1e03:	b9 0c 00 00 00       	mov    $0xc,%ecx
    1e08:	48 8b 30             	mov    (%rax),%rsi
    1e0b:	e8 b0 f0 ff ff       	callq  ec0 <__memmove_chk@plt>
    1e10:	66 c1 cd 08          	ror    $0x8,%bp
    1e14:	66 89 6c 24 42       	mov    %bp,0x42(%rsp)
    1e19:	ba 10 00 00 00       	mov    $0x10,%edx
    1e1e:	4c 89 ee             	mov    %r13,%rsi
    1e21:	44 89 e7             	mov    %r12d,%edi
    1e24:	e8 07 f1 ff ff       	callq  f30 <connect@plt>
    1e29:	85 c0                	test   %eax,%eax
    1e2b:	0f 88 7d 01 00 00    	js     1fae <submitr+0x261>
    1e31:	49 c7 c1 ff ff ff ff 	mov    $0xffffffffffffffff,%r9
    1e38:	b8 00 00 00 00       	mov    $0x0,%eax
    1e3d:	4c 89 c9             	mov    %r9,%rcx
    1e40:	48 89 df             	mov    %rbx,%rdi
    1e43:	f2 ae                	repnz scas %es:(%rdi),%al
    1e45:	48 89 ce             	mov    %rcx,%rsi
    1e48:	48 f7 d6             	not    %rsi
    1e4b:	4c 89 c9             	mov    %r9,%rcx
    1e4e:	48 8b 7c 24 08       	mov    0x8(%rsp),%rdi
    1e53:	f2 ae                	repnz scas %es:(%rdi),%al
    1e55:	49 89 c8             	mov    %rcx,%r8
    1e58:	4c 89 c9             	mov    %r9,%rcx
    1e5b:	48 8b 7c 24 10       	mov    0x10(%rsp),%rdi
    1e60:	f2 ae                	repnz scas %es:(%rdi),%al
    1e62:	48 89 ca             	mov    %rcx,%rdx
    1e65:	48 f7 d2             	not    %rdx
    1e68:	4c 89 c9             	mov    %r9,%rcx
    1e6b:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
    1e70:	f2 ae                	repnz scas %es:(%rdi),%al
    1e72:	4c 29 c2             	sub    %r8,%rdx
    1e75:	48 29 ca             	sub    %rcx,%rdx
    1e78:	48 8d 44 76 fd       	lea    -0x3(%rsi,%rsi,2),%rax
    1e7d:	48 8d 44 02 7b       	lea    0x7b(%rdx,%rax,1),%rax
    1e82:	48 3d 00 20 00 00    	cmp    $0x2000,%rax
    1e88:	0f 87 7d 01 00 00    	ja     200b <submitr+0x2be>
    1e8e:	48 8d 94 24 60 40 00 	lea    0x4060(%rsp),%rdx
    1e95:	00 
    1e96:	b9 00 04 00 00       	mov    $0x400,%ecx
    1e9b:	b8 00 00 00 00       	mov    $0x0,%eax
    1ea0:	48 89 d7             	mov    %rdx,%rdi
    1ea3:	f3 48 ab             	rep stos %rax,%es:(%rdi)
    1ea6:	48 c7 c1 ff ff ff ff 	mov    $0xffffffffffffffff,%rcx
    1ead:	48 89 df             	mov    %rbx,%rdi
    1eb0:	f2 ae                	repnz scas %es:(%rdi),%al
    1eb2:	48 89 ca             	mov    %rcx,%rdx
    1eb5:	48 f7 d2             	not    %rdx
    1eb8:	48 89 d1             	mov    %rdx,%rcx
    1ebb:	48 83 e9 01          	sub    $0x1,%rcx
    1ebf:	85 c9                	test   %ecx,%ecx
    1ec1:	0f 84 3f 06 00 00    	je     2506 <submitr+0x7b9>
    1ec7:	8d 41 ff             	lea    -0x1(%rcx),%eax
    1eca:	4c 8d 74 03 01       	lea    0x1(%rbx,%rax,1),%r14
    1ecf:	48 8d ac 24 60 40 00 	lea    0x4060(%rsp),%rbp
    1ed6:	00 
    1ed7:	48 8d 84 24 60 80 00 	lea    0x8060(%rsp),%rax
    1ede:	00 
    1edf:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
    1ee4:	49 bd d9 ff 00 00 00 	movabs $0x2000000000ffd9,%r13
    1eeb:	00 20 00 
    1eee:	e9 a6 01 00 00       	jmpq   2099 <submitr+0x34c>
    1ef3:	48 b8 45 72 72 6f 72 	movabs $0x43203a726f727245,%rax
    1efa:	3a 20 43 
    1efd:	48 ba 6c 69 65 6e 74 	movabs $0x6e7520746e65696c,%rdx
    1f04:	20 75 6e 
    1f07:	49 89 07             	mov    %rax,(%r15)
    1f0a:	49 89 57 08          	mov    %rdx,0x8(%r15)
    1f0e:	48 b8 61 62 6c 65 20 	movabs $0x206f7420656c6261,%rax
    1f15:	74 6f 20 
    1f18:	48 ba 63 72 65 61 74 	movabs $0x7320657461657263,%rdx
    1f1f:	65 20 73 
    1f22:	49 89 47 10          	mov    %rax,0x10(%r15)
    1f26:	49 89 57 18          	mov    %rdx,0x18(%r15)
    1f2a:	41 c7 47 20 6f 63 6b 	movl   $0x656b636f,0x20(%r15)
    1f31:	65 
    1f32:	66 41 c7 47 24 74 00 	movw   $0x74,0x24(%r15)
    1f39:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
    1f3e:	e9 9a 04 00 00       	jmpq   23dd <submitr+0x690>
    1f43:	48 b8 45 72 72 6f 72 	movabs $0x44203a726f727245,%rax
    1f4a:	3a 20 44 
    1f4d:	48 ba 4e 53 20 69 73 	movabs $0x6e7520736920534e,%rdx
    1f54:	20 75 6e 
    1f57:	49 89 07             	mov    %rax,(%r15)
    1f5a:	49 89 57 08          	mov    %rdx,0x8(%r15)
    1f5e:	48 b8 61 62 6c 65 20 	movabs $0x206f7420656c6261,%rax
    1f65:	74 6f 20 
    1f68:	48 ba 72 65 73 6f 6c 	movabs $0x2065766c6f736572,%rdx
    1f6f:	76 65 20 
    1f72:	49 89 47 10          	mov    %rax,0x10(%r15)
    1f76:	49 89 57 18          	mov    %rdx,0x18(%r15)
    1f7a:	48 b8 73 65 72 76 65 	movabs $0x6120726576726573,%rax
    1f81:	72 20 61 
    1f84:	49 89 47 20          	mov    %rax,0x20(%r15)
    1f88:	41 c7 47 28 64 64 72 	movl   $0x65726464,0x28(%r15)
    1f8f:	65 
    1f90:	66 41 c7 47 2c 73 73 	movw   $0x7373,0x2c(%r15)
    1f97:	41 c6 47 2e 00       	movb   $0x0,0x2e(%r15)
    1f9c:	44 89 e7             	mov    %r12d,%edi
    1f9f:	e8 cc ee ff ff       	callq  e70 <close@plt>
    1fa4:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
    1fa9:	e9 2f 04 00 00       	jmpq   23dd <submitr+0x690>
    1fae:	48 b8 45 72 72 6f 72 	movabs $0x55203a726f727245,%rax
    1fb5:	3a 20 55 
    1fb8:	48 ba 6e 61 62 6c 65 	movabs $0x6f7420656c62616e,%rdx
    1fbf:	20 74 6f 
    1fc2:	49 89 07             	mov    %rax,(%r15)
    1fc5:	49 89 57 08          	mov    %rdx,0x8(%r15)
    1fc9:	48 b8 20 63 6f 6e 6e 	movabs $0x7463656e6e6f6320,%rax
    1fd0:	65 63 74 
    1fd3:	48 ba 20 74 6f 20 74 	movabs $0x20656874206f7420,%rdx
    1fda:	68 65 20 
    1fdd:	49 89 47 10          	mov    %rax,0x10(%r15)
    1fe1:	49 89 57 18          	mov    %rdx,0x18(%r15)
    1fe5:	41 c7 47 20 73 65 72 	movl   $0x76726573,0x20(%r15)
    1fec:	76 
    1fed:	66 41 c7 47 24 65 72 	movw   $0x7265,0x24(%r15)
    1ff4:	41 c6 47 26 00       	movb   $0x0,0x26(%r15)
    1ff9:	44 89 e7             	mov    %r12d,%edi
    1ffc:	e8 6f ee ff ff       	callq  e70 <close@plt>
    2001:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
    2006:	e9 d2 03 00 00       	jmpq   23dd <submitr+0x690>
    200b:	48 b8 45 72 72 6f 72 	movabs $0x52203a726f727245,%rax
    2012:	3a 20 52 
    2015:	48 ba 65 73 75 6c 74 	movabs $0x747320746c757365,%rdx
    201c:	20 73 74 
    201f:	49 89 07             	mov    %rax,(%r15)
    2022:	49 89 57 08          	mov    %rdx,0x8(%r15)
    2026:	48 b8 72 69 6e 67 20 	movabs $0x6f6f7420676e6972,%rax
    202d:	74 6f 6f 
    2030:	48 ba 20 6c 61 72 67 	movabs $0x202e656772616c20,%rdx
    2037:	65 2e 20 
    203a:	49 89 47 10          	mov    %rax,0x10(%r15)
    203e:	49 89 57 18          	mov    %rdx,0x18(%r15)
    2042:	48 b8 49 6e 63 72 65 	movabs $0x6573616572636e49,%rax
    2049:	61 73 65 
    204c:	48 ba 20 53 55 42 4d 	movabs $0x5254494d42555320,%rdx
    2053:	49 54 52 
    2056:	49 89 47 20          	mov    %rax,0x20(%r15)
    205a:	49 89 57 28          	mov    %rdx,0x28(%r15)
    205e:	48 b8 5f 4d 41 58 42 	movabs $0x46554258414d5f,%rax
    2065:	55 46 00 
    2068:	49 89 47 30          	mov    %rax,0x30(%r15)
    206c:	44 89 e7             	mov    %r12d,%edi
    206f:	e8 fc ed ff ff       	callq  e70 <close@plt>
    2074:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
    2079:	e9 5f 03 00 00       	jmpq   23dd <submitr+0x690>
    207e:	49 0f a3 c5          	bt     %rax,%r13
    2082:	73 21                	jae    20a5 <submitr+0x358>
    2084:	44 88 45 00          	mov    %r8b,0x0(%rbp)
    2088:	48 8d 6d 01          	lea    0x1(%rbp),%rbp
    208c:	48 83 c3 01          	add    $0x1,%rbx
    2090:	4c 39 f3             	cmp    %r14,%rbx
    2093:	0f 84 6d 04 00 00    	je     2506 <submitr+0x7b9>
    2099:	44 0f b6 03          	movzbl (%rbx),%r8d
    209d:	41 8d 40 d6          	lea    -0x2a(%r8),%eax
    20a1:	3c 35                	cmp    $0x35,%al
    20a3:	76 d9                	jbe    207e <submitr+0x331>
    20a5:	44 89 c0             	mov    %r8d,%eax
    20a8:	83 e0 df             	and    $0xffffffdf,%eax
    20ab:	83 e8 41             	sub    $0x41,%eax
    20ae:	3c 19                	cmp    $0x19,%al
    20b0:	76 d2                	jbe    2084 <submitr+0x337>
    20b2:	41 80 f8 20          	cmp    $0x20,%r8b
    20b6:	74 60                	je     2118 <submitr+0x3cb>
    20b8:	41 8d 40 e0          	lea    -0x20(%r8),%eax
    20bc:	3c 5f                	cmp    $0x5f,%al
    20be:	76 0a                	jbe    20ca <submitr+0x37d>
    20c0:	41 80 f8 09          	cmp    $0x9,%r8b
    20c4:	0f 85 af 03 00 00    	jne    2479 <submitr+0x72c>
    20ca:	45 0f b6 c0          	movzbl %r8b,%r8d
    20ce:	48 8d 0d 6b 0d 00 00 	lea    0xd6b(%rip),%rcx        # 2e40 <array.3416+0x3e0>
    20d5:	ba 08 00 00 00       	mov    $0x8,%edx
    20da:	be 01 00 00 00       	mov    $0x1,%esi
    20df:	48 8b 7c 24 28       	mov    0x28(%rsp),%rdi
    20e4:	b8 00 00 00 00       	mov    $0x0,%eax
    20e9:	e8 82 ee ff ff       	callq  f70 <__sprintf_chk@plt>
    20ee:	0f b6 84 24 60 80 00 	movzbl 0x8060(%rsp),%eax
    20f5:	00 
    20f6:	88 45 00             	mov    %al,0x0(%rbp)
    20f9:	0f b6 84 24 61 80 00 	movzbl 0x8061(%rsp),%eax
    2100:	00 
    2101:	88 45 01             	mov    %al,0x1(%rbp)
    2104:	0f b6 84 24 62 80 00 	movzbl 0x8062(%rsp),%eax
    210b:	00 
    210c:	88 45 02             	mov    %al,0x2(%rbp)
    210f:	48 8d 6d 03          	lea    0x3(%rbp),%rbp
    2113:	e9 74 ff ff ff       	jmpq   208c <submitr+0x33f>
    2118:	c6 45 00 2b          	movb   $0x2b,0x0(%rbp)
    211c:	48 8d 6d 01          	lea    0x1(%rbp),%rbp
    2120:	e9 67 ff ff ff       	jmpq   208c <submitr+0x33f>
    2125:	49 01 c5             	add    %rax,%r13
    2128:	48 29 c5             	sub    %rax,%rbp
    212b:	74 26                	je     2153 <submitr+0x406>
    212d:	48 89 ea             	mov    %rbp,%rdx
    2130:	4c 89 ee             	mov    %r13,%rsi
    2133:	44 89 e7             	mov    %r12d,%edi
    2136:	e8 05 ed ff ff       	callq  e40 <write@plt>
    213b:	48 85 c0             	test   %rax,%rax
    213e:	7f e5                	jg     2125 <submitr+0x3d8>
    2140:	e8 cb ec ff ff       	callq  e10 <__errno_location@plt>
    2145:	83 38 04             	cmpl   $0x4,(%rax)
    2148:	0f 85 31 01 00 00    	jne    227f <submitr+0x532>
    214e:	4c 89 f0             	mov    %r14,%rax
    2151:	eb d2                	jmp    2125 <submitr+0x3d8>
    2153:	48 85 db             	test   %rbx,%rbx
    2156:	0f 88 23 01 00 00    	js     227f <submitr+0x532>
    215c:	44 89 64 24 50       	mov    %r12d,0x50(%rsp)
    2161:	c7 44 24 54 00 00 00 	movl   $0x0,0x54(%rsp)
    2168:	00 
    2169:	48 8d 7c 24 50       	lea    0x50(%rsp),%rdi
    216e:	48 8d 47 10          	lea    0x10(%rdi),%rax
    2172:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
    2177:	48 8d b4 24 60 20 00 	lea    0x2060(%rsp),%rsi
    217e:	00 
    217f:	ba 00 20 00 00       	mov    $0x2000,%edx
    2184:	e8 08 fb ff ff       	callq  1c91 <rio_readlineb>
    2189:	48 85 c0             	test   %rax,%rax
    218c:	0f 8e 4c 01 00 00    	jle    22de <submitr+0x591>
    2192:	48 8d 4c 24 3c       	lea    0x3c(%rsp),%rcx
    2197:	48 8d 94 24 60 60 00 	lea    0x6060(%rsp),%rdx
    219e:	00 
    219f:	48 8d bc 24 60 20 00 	lea    0x2060(%rsp),%rdi
    21a6:	00 
    21a7:	4c 8d 84 24 60 80 00 	lea    0x8060(%rsp),%r8
    21ae:	00 
    21af:	48 8d 35 91 0c 00 00 	lea    0xc91(%rip),%rsi        # 2e47 <array.3416+0x3e7>
    21b6:	b8 00 00 00 00       	mov    $0x0,%eax
    21bb:	e8 30 ed ff ff       	callq  ef0 <__isoc99_sscanf@plt>
    21c0:	44 8b 44 24 3c       	mov    0x3c(%rsp),%r8d
    21c5:	41 81 f8 c8 00 00 00 	cmp    $0xc8,%r8d
    21cc:	0f 85 80 01 00 00    	jne    2352 <submitr+0x605>
    21d2:	48 8d 9c 24 60 20 00 	lea    0x2060(%rsp),%rbx
    21d9:	00 
    21da:	48 8d 2d 77 0c 00 00 	lea    0xc77(%rip),%rbp        # 2e58 <array.3416+0x3f8>
    21e1:	4c 8d 6c 24 50       	lea    0x50(%rsp),%r13
    21e6:	b9 03 00 00 00       	mov    $0x3,%ecx
    21eb:	48 89 de             	mov    %rbx,%rsi
    21ee:	48 89 ef             	mov    %rbp,%rdi
    21f1:	f3 a6                	repz cmpsb %es:(%rdi),%ds:(%rsi)
    21f3:	0f 97 c0             	seta   %al
    21f6:	1c 00                	sbb    $0x0,%al
    21f8:	84 c0                	test   %al,%al
    21fa:	0f 84 89 01 00 00    	je     2389 <submitr+0x63c>
    2200:	ba 00 20 00 00       	mov    $0x2000,%edx
    2205:	48 89 de             	mov    %rbx,%rsi
    2208:	4c 89 ef             	mov    %r13,%rdi
    220b:	e8 81 fa ff ff       	callq  1c91 <rio_readlineb>
    2210:	48 85 c0             	test   %rax,%rax
    2213:	7f d1                	jg     21e6 <submitr+0x499>
    2215:	48 b8 45 72 72 6f 72 	movabs $0x43203a726f727245,%rax
    221c:	3a 20 43 
    221f:	48 ba 6c 69 65 6e 74 	movabs $0x6e7520746e65696c,%rdx
    2226:	20 75 6e 
    2229:	49 89 07             	mov    %rax,(%r15)
    222c:	49 89 57 08          	mov    %rdx,0x8(%r15)
    2230:	48 b8 61 62 6c 65 20 	movabs $0x206f7420656c6261,%rax
    2237:	74 6f 20 
    223a:	48 ba 72 65 61 64 20 	movabs $0x6165682064616572,%rdx
    2241:	68 65 61 
    2244:	49 89 47 10          	mov    %rax,0x10(%r15)
    2248:	49 89 57 18          	mov    %rdx,0x18(%r15)
    224c:	48 b8 64 65 72 73 20 	movabs $0x6f72662073726564,%rax
    2253:	66 72 6f 
    2256:	48 ba 6d 20 73 65 72 	movabs $0x726576726573206d,%rdx
    225d:	76 65 72 
    2260:	49 89 47 20          	mov    %rax,0x20(%r15)
    2264:	49 89 57 28          	mov    %rdx,0x28(%r15)
    2268:	41 c6 47 30 00       	movb   $0x0,0x30(%r15)
    226d:	44 89 e7             	mov    %r12d,%edi
    2270:	e8 fb eb ff ff       	callq  e70 <close@plt>
    2275:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
    227a:	e9 5e 01 00 00       	jmpq   23dd <submitr+0x690>
    227f:	48 b8 45 72 72 6f 72 	movabs $0x43203a726f727245,%rax
    2286:	3a 20 43 
    2289:	48 ba 6c 69 65 6e 74 	movabs $0x6e7520746e65696c,%rdx
    2290:	20 75 6e 
    2293:	49 89 07             	mov    %rax,(%r15)
    2296:	49 89 57 08          	mov    %rdx,0x8(%r15)
    229a:	48 b8 61 62 6c 65 20 	movabs $0x206f7420656c6261,%rax
    22a1:	74 6f 20 
    22a4:	48 ba 77 72 69 74 65 	movabs $0x6f74206574697277,%rdx
    22ab:	20 74 6f 
    22ae:	49 89 47 10          	mov    %rax,0x10(%r15)
    22b2:	49 89 57 18          	mov    %rdx,0x18(%r15)
    22b6:	48 b8 20 74 68 65 20 	movabs $0x7265732065687420,%rax
    22bd:	73 65 72 
    22c0:	49 89 47 20          	mov    %rax,0x20(%r15)
    22c4:	41 c7 47 28 76 65 72 	movl   $0x726576,0x28(%r15)
    22cb:	00 
    22cc:	44 89 e7             	mov    %r12d,%edi
    22cf:	e8 9c eb ff ff       	callq  e70 <close@plt>
    22d4:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
    22d9:	e9 ff 00 00 00       	jmpq   23dd <submitr+0x690>
    22de:	48 b8 45 72 72 6f 72 	movabs $0x43203a726f727245,%rax
    22e5:	3a 20 43 
    22e8:	48 ba 6c 69 65 6e 74 	movabs $0x6e7520746e65696c,%rdx
    22ef:	20 75 6e 
    22f2:	49 89 07             	mov    %rax,(%r15)
    22f5:	49 89 57 08          	mov    %rdx,0x8(%r15)
    22f9:	48 b8 61 62 6c 65 20 	movabs $0x206f7420656c6261,%rax
    2300:	74 6f 20 
    2303:	48 ba 72 65 61 64 20 	movabs $0x7269662064616572,%rdx
    230a:	66 69 72 
    230d:	49 89 47 10          	mov    %rax,0x10(%r15)
    2311:	49 89 57 18          	mov    %rdx,0x18(%r15)
    2315:	48 b8 73 74 20 68 65 	movabs $0x6564616568207473,%rax
    231c:	61 64 65 
    231f:	48 ba 72 20 66 72 6f 	movabs $0x73206d6f72662072,%rdx
    2326:	6d 20 73 
    2329:	49 89 47 20          	mov    %rax,0x20(%r15)
    232d:	49 89 57 28          	mov    %rdx,0x28(%r15)
    2331:	41 c7 47 30 65 72 76 	movl   $0x65767265,0x30(%r15)
    2338:	65 
    2339:	66 41 c7 47 34 72 00 	movw   $0x72,0x34(%r15)
    2340:	44 89 e7             	mov    %r12d,%edi
    2343:	e8 28 eb ff ff       	callq  e70 <close@plt>
    2348:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
    234d:	e9 8b 00 00 00       	jmpq   23dd <submitr+0x690>
    2352:	4c 8d 8c 24 60 80 00 	lea    0x8060(%rsp),%r9
    2359:	00 
    235a:	48 8d 0d 2f 0a 00 00 	lea    0xa2f(%rip),%rcx        # 2d90 <array.3416+0x330>
    2361:	48 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%rdx
    2368:	be 01 00 00 00       	mov    $0x1,%esi
    236d:	4c 89 ff             	mov    %r15,%rdi
    2370:	b8 00 00 00 00       	mov    $0x0,%eax
    2375:	e8 f6 eb ff ff       	callq  f70 <__sprintf_chk@plt>
    237a:	44 89 e7             	mov    %r12d,%edi
    237d:	e8 ee ea ff ff       	callq  e70 <close@plt>
    2382:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
    2387:	eb 54                	jmp    23dd <submitr+0x690>
    2389:	48 8d b4 24 60 20 00 	lea    0x2060(%rsp),%rsi
    2390:	00 
    2391:	48 8d 7c 24 50       	lea    0x50(%rsp),%rdi
    2396:	ba 00 20 00 00       	mov    $0x2000,%edx
    239b:	e8 f1 f8 ff ff       	callq  1c91 <rio_readlineb>
    23a0:	48 85 c0             	test   %rax,%rax
    23a3:	7e 61                	jle    2406 <submitr+0x6b9>
    23a5:	48 8d b4 24 60 20 00 	lea    0x2060(%rsp),%rsi
    23ac:	00 
    23ad:	4c 89 ff             	mov    %r15,%rdi
    23b0:	e8 6b ea ff ff       	callq  e20 <strcpy@plt>
    23b5:	44 89 e7             	mov    %r12d,%edi
    23b8:	e8 b3 ea ff ff       	callq  e70 <close@plt>
    23bd:	b9 03 00 00 00       	mov    $0x3,%ecx
    23c2:	48 8d 3d 92 0a 00 00 	lea    0xa92(%rip),%rdi        # 2e5b <array.3416+0x3fb>
    23c9:	4c 89 fe             	mov    %r15,%rsi
    23cc:	f3 a6                	repz cmpsb %es:(%rdi),%ds:(%rsi)
    23ce:	0f 97 c0             	seta   %al
    23d1:	1c 00                	sbb    $0x0,%al
    23d3:	84 c0                	test   %al,%al
    23d5:	0f 95 c0             	setne  %al
    23d8:	0f b6 c0             	movzbl %al,%eax
    23db:	f7 d8                	neg    %eax
    23dd:	48 8b 94 24 68 a0 00 	mov    0xa068(%rsp),%rdx
    23e4:	00 
    23e5:	64 48 33 14 25 28 00 	xor    %fs:0x28,%rdx
    23ec:	00 00 
    23ee:	0f 85 95 01 00 00    	jne    2589 <submitr+0x83c>
    23f4:	48 81 c4 78 a0 00 00 	add    $0xa078,%rsp
    23fb:	5b                   	pop    %rbx
    23fc:	5d                   	pop    %rbp
    23fd:	41 5c                	pop    %r12
    23ff:	41 5d                	pop    %r13
    2401:	41 5e                	pop    %r14
    2403:	41 5f                	pop    %r15
    2405:	c3                   	retq   
    2406:	48 b8 45 72 72 6f 72 	movabs $0x43203a726f727245,%rax
    240d:	3a 20 43 
    2410:	48 ba 6c 69 65 6e 74 	movabs $0x6e7520746e65696c,%rdx
    2417:	20 75 6e 
    241a:	49 89 07             	mov    %rax,(%r15)
    241d:	49 89 57 08          	mov    %rdx,0x8(%r15)
    2421:	48 b8 61 62 6c 65 20 	movabs $0x206f7420656c6261,%rax
    2428:	74 6f 20 
    242b:	48 ba 72 65 61 64 20 	movabs $0x6174732064616572,%rdx
    2432:	73 74 61 
    2435:	49 89 47 10          	mov    %rax,0x10(%r15)
    2439:	49 89 57 18          	mov    %rdx,0x18(%r15)
    243d:	48 b8 74 75 73 20 6d 	movabs $0x7373656d20737574,%rax
    2444:	65 73 73 
    2447:	48 ba 61 67 65 20 66 	movabs $0x6d6f726620656761,%rdx
    244e:	72 6f 6d 
    2451:	49 89 47 20          	mov    %rax,0x20(%r15)
    2455:	49 89 57 28          	mov    %rdx,0x28(%r15)
    2459:	48 b8 20 73 65 72 76 	movabs $0x72657672657320,%rax
    2460:	65 72 00 
    2463:	49 89 47 30          	mov    %rax,0x30(%r15)
    2467:	44 89 e7             	mov    %r12d,%edi
    246a:	e8 01 ea ff ff       	callq  e70 <close@plt>
    246f:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
    2474:	e9 64 ff ff ff       	jmpq   23dd <submitr+0x690>
    2479:	48 b8 45 72 72 6f 72 	movabs $0x52203a726f727245,%rax
    2480:	3a 20 52 
    2483:	48 ba 65 73 75 6c 74 	movabs $0x747320746c757365,%rdx
    248a:	20 73 74 
    248d:	49 89 07             	mov    %rax,(%r15)
    2490:	49 89 57 08          	mov    %rdx,0x8(%r15)
    2494:	48 b8 72 69 6e 67 20 	movabs $0x6e6f6320676e6972,%rax
    249b:	63 6f 6e 
    249e:	48 ba 74 61 69 6e 73 	movabs $0x6e6120736e696174,%rdx
    24a5:	20 61 6e 
    24a8:	49 89 47 10          	mov    %rax,0x10(%r15)
    24ac:	49 89 57 18          	mov    %rdx,0x18(%r15)
    24b0:	48 b8 20 69 6c 6c 65 	movabs $0x6c6167656c6c6920,%rax
    24b7:	67 61 6c 
    24ba:	48 ba 20 6f 72 20 75 	movabs $0x72706e7520726f20,%rdx
    24c1:	6e 70 72 
    24c4:	49 89 47 20          	mov    %rax,0x20(%r15)
    24c8:	49 89 57 28          	mov    %rdx,0x28(%r15)
    24cc:	48 b8 69 6e 74 61 62 	movabs $0x20656c6261746e69,%rax
    24d3:	6c 65 20 
    24d6:	48 ba 63 68 61 72 61 	movabs $0x6574636172616863,%rdx
    24dd:	63 74 65 
    24e0:	49 89 47 30          	mov    %rax,0x30(%r15)
    24e4:	49 89 57 38          	mov    %rdx,0x38(%r15)
    24e8:	66 41 c7 47 40 72 2e 	movw   $0x2e72,0x40(%r15)
    24ef:	41 c6 47 42 00       	movb   $0x0,0x42(%r15)
    24f4:	44 89 e7             	mov    %r12d,%edi
    24f7:	e8 74 e9 ff ff       	callq  e70 <close@plt>
    24fc:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
    2501:	e9 d7 fe ff ff       	jmpq   23dd <submitr+0x690>
    2506:	48 8d 9c 24 60 20 00 	lea    0x2060(%rsp),%rbx
    250d:	00 
    250e:	48 83 ec 08          	sub    $0x8,%rsp
    2512:	48 8d 84 24 68 40 00 	lea    0x4068(%rsp),%rax
    2519:	00 
    251a:	50                   	push   %rax
    251b:	ff 74 24 28          	pushq  0x28(%rsp)
    251f:	ff 74 24 38          	pushq  0x38(%rsp)
    2523:	4c 8b 4c 24 30       	mov    0x30(%rsp),%r9
    2528:	4c 8b 44 24 28       	mov    0x28(%rsp),%r8
    252d:	48 8d 0d 8c 08 00 00 	lea    0x88c(%rip),%rcx        # 2dc0 <array.3416+0x360>
    2534:	ba 00 20 00 00       	mov    $0x2000,%edx
    2539:	be 01 00 00 00       	mov    $0x1,%esi
    253e:	48 89 df             	mov    %rbx,%rdi
    2541:	b8 00 00 00 00       	mov    $0x0,%eax
    2546:	e8 25 ea ff ff       	callq  f70 <__sprintf_chk@plt>
    254b:	48 c7 c1 ff ff ff ff 	mov    $0xffffffffffffffff,%rcx
    2552:	b8 00 00 00 00       	mov    $0x0,%eax
    2557:	48 89 df             	mov    %rbx,%rdi
    255a:	f2 ae                	repnz scas %es:(%rdi),%al
    255c:	48 f7 d1             	not    %rcx
    255f:	48 89 cb             	mov    %rcx,%rbx
    2562:	48 83 eb 01          	sub    $0x1,%rbx
    2566:	48 83 c4 20          	add    $0x20,%rsp
    256a:	48 89 dd             	mov    %rbx,%rbp
    256d:	4c 8d ac 24 60 20 00 	lea    0x2060(%rsp),%r13
    2574:	00 
    2575:	41 be 00 00 00 00    	mov    $0x0,%r14d
    257b:	48 85 db             	test   %rbx,%rbx
    257e:	0f 85 a9 fb ff ff    	jne    212d <submitr+0x3e0>
    2584:	e9 d3 fb ff ff       	jmpq   215c <submitr+0x40f>
    2589:	e8 c2 e8 ff ff       	callq  e50 <__stack_chk_fail@plt>

000000000000258e <init_timeout>:
    258e:	85 ff                	test   %edi,%edi
    2590:	74 25                	je     25b7 <init_timeout+0x29>
    2592:	53                   	push   %rbx
    2593:	89 fb                	mov    %edi,%ebx
    2595:	48 8d 35 c5 f6 ff ff 	lea    -0x93b(%rip),%rsi        # 1c61 <sigalrm_handler>
    259c:	bf 0e 00 00 00       	mov    $0xe,%edi
    25a1:	e8 fa e8 ff ff       	callq  ea0 <signal@plt>
    25a6:	85 db                	test   %ebx,%ebx
    25a8:	bf 00 00 00 00       	mov    $0x0,%edi
    25ad:	0f 49 fb             	cmovns %ebx,%edi
    25b0:	e8 ab e8 ff ff       	callq  e60 <alarm@plt>
    25b5:	5b                   	pop    %rbx
    25b6:	c3                   	retq   
    25b7:	f3 c3                	repz retq 

00000000000025b9 <init_driver>:
    25b9:	41 54                	push   %r12
    25bb:	55                   	push   %rbp
    25bc:	53                   	push   %rbx
    25bd:	48 83 ec 20          	sub    $0x20,%rsp
    25c1:	49 89 fc             	mov    %rdi,%r12
    25c4:	64 48 8b 04 25 28 00 	mov    %fs:0x28,%rax
    25cb:	00 00 
    25cd:	48 89 44 24 18       	mov    %rax,0x18(%rsp)
    25d2:	31 c0                	xor    %eax,%eax
    25d4:	be 01 00 00 00       	mov    $0x1,%esi
    25d9:	bf 0d 00 00 00       	mov    $0xd,%edi
    25de:	e8 bd e8 ff ff       	callq  ea0 <signal@plt>
    25e3:	be 01 00 00 00       	mov    $0x1,%esi
    25e8:	bf 1d 00 00 00       	mov    $0x1d,%edi
    25ed:	e8 ae e8 ff ff       	callq  ea0 <signal@plt>
    25f2:	be 01 00 00 00       	mov    $0x1,%esi
    25f7:	bf 1d 00 00 00       	mov    $0x1d,%edi
    25fc:	e8 9f e8 ff ff       	callq  ea0 <signal@plt>
    2601:	ba 00 00 00 00       	mov    $0x0,%edx
    2606:	be 01 00 00 00       	mov    $0x1,%esi
    260b:	bf 02 00 00 00       	mov    $0x2,%edi
    2610:	e8 6b e9 ff ff       	callq  f80 <socket@plt>
    2615:	85 c0                	test   %eax,%eax
    2617:	0f 88 a3 00 00 00    	js     26c0 <init_driver+0x107>
    261d:	89 c3                	mov    %eax,%ebx
    261f:	48 8d 3d 38 08 00 00 	lea    0x838(%rip),%rdi        # 2e5e <array.3416+0x3fe>
    2626:	e8 85 e8 ff ff       	callq  eb0 <gethostbyname@plt>
    262b:	48 85 c0             	test   %rax,%rax
    262e:	0f 84 df 00 00 00    	je     2713 <init_driver+0x15a>
    2634:	48 89 e5             	mov    %rsp,%rbp
    2637:	48 c7 44 24 02 00 00 	movq   $0x0,0x2(%rsp)
    263e:	00 00 
    2640:	c7 45 0a 00 00 00 00 	movl   $0x0,0xa(%rbp)
    2647:	66 c7 45 0e 00 00    	movw   $0x0,0xe(%rbp)
    264d:	66 c7 04 24 02 00    	movw   $0x2,(%rsp)
    2653:	48 63 50 14          	movslq 0x14(%rax),%rdx
    2657:	48 8b 40 18          	mov    0x18(%rax),%rax
    265b:	48 8d 7d 04          	lea    0x4(%rbp),%rdi
    265f:	b9 0c 00 00 00       	mov    $0xc,%ecx
    2664:	48 8b 30             	mov    (%rax),%rsi
    2667:	e8 54 e8 ff ff       	callq  ec0 <__memmove_chk@plt>
    266c:	66 c7 44 24 02 3b 6e 	movw   $0x6e3b,0x2(%rsp)
    2673:	ba 10 00 00 00       	mov    $0x10,%edx
    2678:	48 89 ee             	mov    %rbp,%rsi
    267b:	89 df                	mov    %ebx,%edi
    267d:	e8 ae e8 ff ff       	callq  f30 <connect@plt>
    2682:	85 c0                	test   %eax,%eax
    2684:	0f 88 fb 00 00 00    	js     2785 <init_driver+0x1cc>
    268a:	89 df                	mov    %ebx,%edi
    268c:	e8 df e7 ff ff       	callq  e70 <close@plt>
    2691:	66 41 c7 04 24 4f 4b 	movw   $0x4b4f,(%r12)
    2698:	41 c6 44 24 02 00    	movb   $0x0,0x2(%r12)
    269e:	b8 00 00 00 00       	mov    $0x0,%eax
    26a3:	48 8b 4c 24 18       	mov    0x18(%rsp),%rcx
    26a8:	64 48 33 0c 25 28 00 	xor    %fs:0x28,%rcx
    26af:	00 00 
    26b1:	0f 85 06 01 00 00    	jne    27bd <init_driver+0x204>
    26b7:	48 83 c4 20          	add    $0x20,%rsp
    26bb:	5b                   	pop    %rbx
    26bc:	5d                   	pop    %rbp
    26bd:	41 5c                	pop    %r12
    26bf:	c3                   	retq   
    26c0:	48 b8 45 72 72 6f 72 	movabs $0x43203a726f727245,%rax
    26c7:	3a 20 43 
    26ca:	48 ba 6c 69 65 6e 74 	movabs $0x6e7520746e65696c,%rdx
    26d1:	20 75 6e 
    26d4:	49 89 04 24          	mov    %rax,(%r12)
    26d8:	49 89 54 24 08       	mov    %rdx,0x8(%r12)
    26dd:	48 b8 61 62 6c 65 20 	movabs $0x206f7420656c6261,%rax
    26e4:	74 6f 20 
    26e7:	48 ba 63 72 65 61 74 	movabs $0x7320657461657263,%rdx
    26ee:	65 20 73 
    26f1:	49 89 44 24 10       	mov    %rax,0x10(%r12)
    26f6:	49 89 54 24 18       	mov    %rdx,0x18(%r12)
    26fb:	41 c7 44 24 20 6f 63 	movl   $0x656b636f,0x20(%r12)
    2702:	6b 65 
    2704:	66 41 c7 44 24 24 74 	movw   $0x74,0x24(%r12)
    270b:	00 
    270c:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
    2711:	eb 90                	jmp    26a3 <init_driver+0xea>
    2713:	48 b8 45 72 72 6f 72 	movabs $0x44203a726f727245,%rax
    271a:	3a 20 44 
    271d:	48 ba 4e 53 20 69 73 	movabs $0x6e7520736920534e,%rdx
    2724:	20 75 6e 
    2727:	49 89 04 24          	mov    %rax,(%r12)
    272b:	49 89 54 24 08       	mov    %rdx,0x8(%r12)
    2730:	48 b8 61 62 6c 65 20 	movabs $0x206f7420656c6261,%rax
    2737:	74 6f 20 
    273a:	48 ba 72 65 73 6f 6c 	movabs $0x2065766c6f736572,%rdx
    2741:	76 65 20 
    2744:	49 89 44 24 10       	mov    %rax,0x10(%r12)
    2749:	49 89 54 24 18       	mov    %rdx,0x18(%r12)
    274e:	48 b8 73 65 72 76 65 	movabs $0x6120726576726573,%rax
    2755:	72 20 61 
    2758:	49 89 44 24 20       	mov    %rax,0x20(%r12)
    275d:	41 c7 44 24 28 64 64 	movl   $0x65726464,0x28(%r12)
    2764:	72 65 
    2766:	66 41 c7 44 24 2c 73 	movw   $0x7373,0x2c(%r12)
    276d:	73 
    276e:	41 c6 44 24 2e 00    	movb   $0x0,0x2e(%r12)
    2774:	89 df                	mov    %ebx,%edi
    2776:	e8 f5 e6 ff ff       	callq  e70 <close@plt>
    277b:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
    2780:	e9 1e ff ff ff       	jmpq   26a3 <init_driver+0xea>
    2785:	4c 8d 05 d2 06 00 00 	lea    0x6d2(%rip),%r8        # 2e5e <array.3416+0x3fe>
    278c:	48 8d 0d 85 06 00 00 	lea    0x685(%rip),%rcx        # 2e18 <array.3416+0x3b8>
    2793:	48 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%rdx
    279a:	be 01 00 00 00       	mov    $0x1,%esi
    279f:	4c 89 e7             	mov    %r12,%rdi
    27a2:	b8 00 00 00 00       	mov    $0x0,%eax
    27a7:	e8 c4 e7 ff ff       	callq  f70 <__sprintf_chk@plt>
    27ac:	89 df                	mov    %ebx,%edi
    27ae:	e8 bd e6 ff ff       	callq  e70 <close@plt>
    27b3:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
    27b8:	e9 e6 fe ff ff       	jmpq   26a3 <init_driver+0xea>
    27bd:	e8 8e e6 ff ff       	callq  e50 <__stack_chk_fail@plt>

00000000000027c2 <driver_post>:
    27c2:	53                   	push   %rbx
    27c3:	4c 89 c3             	mov    %r8,%rbx
    27c6:	85 c9                	test   %ecx,%ecx
    27c8:	75 17                	jne    27e1 <driver_post+0x1f>
    27ca:	48 85 ff             	test   %rdi,%rdi
    27cd:	74 05                	je     27d4 <driver_post+0x12>
    27cf:	80 3f 00             	cmpb   $0x0,(%rdi)
    27d2:	75 33                	jne    2807 <driver_post+0x45>
    27d4:	66 c7 03 4f 4b       	movw   $0x4b4f,(%rbx)
    27d9:	c6 43 02 00          	movb   $0x0,0x2(%rbx)
    27dd:	89 c8                	mov    %ecx,%eax
    27df:	5b                   	pop    %rbx
    27e0:	c3                   	retq   
    27e1:	48 8d 35 82 06 00 00 	lea    0x682(%rip),%rsi        # 2e6a <array.3416+0x40a>
    27e8:	bf 01 00 00 00       	mov    $0x1,%edi
    27ed:	b8 00 00 00 00       	mov    $0x0,%eax
    27f2:	e8 09 e7 ff ff       	callq  f00 <__printf_chk@plt>
    27f7:	66 c7 03 4f 4b       	movw   $0x4b4f,(%rbx)
    27fc:	c6 43 02 00          	movb   $0x0,0x2(%rbx)
    2800:	b8 00 00 00 00       	mov    $0x0,%eax
    2805:	eb d8                	jmp    27df <driver_post+0x1d>
    2807:	41 50                	push   %r8
    2809:	52                   	push   %rdx
    280a:	4c 8d 0d 70 06 00 00 	lea    0x670(%rip),%r9        # 2e81 <array.3416+0x421>
    2811:	49 89 f0             	mov    %rsi,%r8
    2814:	48 89 f9             	mov    %rdi,%rcx
    2817:	48 8d 15 67 06 00 00 	lea    0x667(%rip),%rdx        # 2e85 <array.3416+0x425>
    281e:	be 6e 3b 00 00       	mov    $0x3b6e,%esi
    2823:	48 8d 3d 34 06 00 00 	lea    0x634(%rip),%rdi        # 2e5e <array.3416+0x3fe>
    282a:	e8 1e f5 ff ff       	callq  1d4d <submitr>
    282f:	48 83 c4 10          	add    $0x10,%rsp
    2833:	eb aa                	jmp    27df <driver_post+0x1d>
    2835:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
    283c:	00 00 00 
    283f:	90                   	nop

0000000000002840 <__libc_csu_init>:
    2840:	41 57                	push   %r15
    2842:	41 56                	push   %r14
    2844:	49 89 d7             	mov    %rdx,%r15
    2847:	41 55                	push   %r13
    2849:	41 54                	push   %r12
    284b:	4c 8d 25 a6 14 20 00 	lea    0x2014a6(%rip),%r12        # 203cf8 <__frame_dummy_init_array_entry>
    2852:	55                   	push   %rbp
    2853:	48 8d 2d a6 14 20 00 	lea    0x2014a6(%rip),%rbp        # 203d00 <__init_array_end>
    285a:	53                   	push   %rbx
    285b:	41 89 fd             	mov    %edi,%r13d
    285e:	49 89 f6             	mov    %rsi,%r14
    2861:	4c 29 e5             	sub    %r12,%rbp
    2864:	48 83 ec 08          	sub    $0x8,%rsp
    2868:	48 c1 fd 03          	sar    $0x3,%rbp
    286c:	e8 5f e5 ff ff       	callq  dd0 <_init>
    2871:	48 85 ed             	test   %rbp,%rbp
    2874:	74 20                	je     2896 <__libc_csu_init+0x56>
    2876:	31 db                	xor    %ebx,%ebx
    2878:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
    287f:	00 
    2880:	4c 89 fa             	mov    %r15,%rdx
    2883:	4c 89 f6             	mov    %r14,%rsi
    2886:	44 89 ef             	mov    %r13d,%edi
    2889:	41 ff 14 dc          	callq  *(%r12,%rbx,8)
    288d:	48 83 c3 01          	add    $0x1,%rbx
    2891:	48 39 dd             	cmp    %rbx,%rbp
    2894:	75 ea                	jne    2880 <__libc_csu_init+0x40>
    2896:	48 83 c4 08          	add    $0x8,%rsp
    289a:	5b                   	pop    %rbx
    289b:	5d                   	pop    %rbp
    289c:	41 5c                	pop    %r12
    289e:	41 5d                	pop    %r13
    28a0:	41 5e                	pop    %r14
    28a2:	41 5f                	pop    %r15
    28a4:	c3                   	retq   
    28a5:	90                   	nop
    28a6:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
    28ad:	00 00 00 

00000000000028b0 <__libc_csu_fini>:
    28b0:	f3 c3                	repz retq 

Disassembly of section .fini:

00000000000028b4 <_fini>:
    28b4:	48 83 ec 08          	sub    $0x8,%rsp
    28b8:	48 83 c4 08          	add    $0x8,%rsp
    28bc:	c3                   	retq   
